Stata18.0新功能4 您所在的位置:网站首页 从字符串提取数据 Stata18.0新功能4

Stata18.0新功能4

2023-05-08 10:11| 来源: 网络整理| 查看: 265

原标题:Stata18.0新功能4--全新字符串函数及正则表达式

Stata18.0新功能4--全新字符串函数及正则表达式

新的基于 Boost 的正则表达式函数

允许不同的正则表达式语法

新的基于 Boost 的正则表达式函数

允许不同的正则表达式语法

正则表达式是处理字符串数据的强大工具。Stata 的正则表达式在 Stata 18 中变得更加强大,具有更多功能。

->概述-> 让我们看看它的工作原理-> 告诉我更多

1、概述

正则表达式用于

数据验证,例如,检查电话号码的格式是否正确;

数据提取,例如,从字符串中提取电话号码;和

数据转换,例如,规范化不同的电话号码输入。

数据验证,例如,检查电话号码的格式是否正确;

数据提取,例如,从字符串中提取电话号码;和

数据转换,例如,规范化不同的电话号码输入。

Stata 提供了两组正则表达式函数:byte-stream-based regexm, regexr, and regexs; and Unicode-based ustrregexm, ustrregexrf, ustrregexra, and **ustrregexs 。基于 Unicode 的正则表达式函数构建在 ICU 库之上。

在 Stata 18 中,基于byte-stream-based functions字节流的函数已更新为使用 Boost 库作为引擎。这些函数由用户版本控制,如果用户指定 版本 17:则保留旧行为。

Stata 18 中的新实现具有更多功能。例如,新的实现支持 {n} 来匹配正则表达式 n 次:

. display regexm( "123", "\d{3}")

1

. version 17: display regexm( "123", "\d{3}")

展开全文

0

添加了一组专门使用 Boost 库的新功能:

regexmatch执行正则表达式与 ASCII 字符串的匹配。

regexreplace将正则表达式与指定文本匹配的第一个子字符串替换。

regexreplaceall将所有与正则表达式匹配的子字符串替换为指定的文本。

regexcapture返回来自前一个匹配项的子表达式。

regexcapturenamed返回一个子表达式,该子表达式对应于上一个匹配项正则表达式中的匹配命名组。

regexmatch执行正则表达式与 ASCII 字符串的匹配。

regexreplace将正则表达式与指定文本匹配的第一个子字符串替换。

regexreplaceall将所有与正则表达式匹配的子字符串替换为指定的文本。

regexcapture返回来自前一个匹配项的子表达式。

regexcapturenamed返回一个子表达式,该子表达式对应于上一个匹配项正则表达式中的匹配命名组。

我们希望匹配和提取政府首脑地址中的电话号码。

我们需要以下规则:

电话号码跟在“电话:”或“电话:”后面。

它可能以“+”开头。

在“+”之后或开头,它有 1 到 3 个非零数字。

之后,它可以有 7 到 32 位数字、空格或“-”。

电话号码跟在“电话:”或“电话:”后面。

它可能以“+”开头。

在“+”之后或开头,它有 1 到 3 个非零数字。

之后,它可以有 7 到 32 位数字、空格或“-”。

我们想为提取的电话号码生成一个变量 phone,如果地址匹配,则不包含“Phone:”或“tel:”。

我们想生成另一个变量 address1,将电话号码替换为上面提取的电话号码,后跟“tel:”。

我们看到第三个地址不包含“Phone:”或“tel:”,因此与正则表达式不匹配,因此此观察缺少 电话。 返回搜狐,查看更多

责任编辑:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有