Regex 用于数字计数R-lang的Perl正则表达式
我正在使用R和新的正则表达式: 我需要一个正则表达式来为类似json的文本提取“statuses\u count”。数据被组织到一个数据框中,每行都有文本。示例数据行:Regex 用于数字计数R-lang的Perl正则表达式,regex,r,stringr,Regex,R,Stringr,我正在使用R和新的正则表达式: 我需要一个正则表达式来为类似json的文本提取“statuses\u count”。数据被组织到一个数据框中,每行都有文本。示例数据行: {'lang': u'en', 'profile_background_tile': False, 'statuses_count': 4414, 'description': u'Progessive,interested in the psychology of politics. 结果应该是:4414 我曾考虑将st
{'lang': u'en', 'profile_background_tile': False, 'statuses_count': 4414, 'description': u'Progessive,interested in the psychology of politics.
结果应该是:4414
我曾考虑将str\u extract\u all与perl选项一起使用,但我不明白如何只获取“statuses\u count”后面的数字
(?在这里,我根据文章的标题使用
perl
regex
library(stringr)
str_extract_all(str1, perl("(?<=statuses_count': )\\d+"))[[1]]
#[1] "4414"
数据
str1在这里,我按照文章的标题使用perl
regex
library(stringr)
str_extract_all(str1, perl("(?<=statuses_count': )\\d+"))[[1]]
#[1] "4414"
数据
str11)sub。没有软件包的简单解决方案
sub(".*'statuses_count': (\\d+).*", "\\1", x)
## [1] "4414"
正则表达式的可视化:
.*'statuses_count': (\d+).*
\D
'statuses_count': (\d+)
2)gsub如果我们知道字符串中没有其他数字(如示例中所示),则更容易删除非数字:
gsub("\\D", "", x)
## [1] "4414"
正则表达式的可视化:
.*'statuses_count': (\d+).*
\D
'statuses_count': (\d+)
3)Straply或straplyc此方法涉及一个相对简单的正则表达式:
library(gsubfn)
strapplyc(x, "'statuses_count': (\\d+)", simplify = TRUE)
## [1] "4414"
或者,如果需要数字输出:
strapply(x, "'statuses_count': (\\d+)", as.numeric, simplify = TRUE)
## [1] 4414
正则表达式的可视化:
.*'statuses_count': (\d+).*
\D
'statuses_count': (\d+)
注意::这些都不需要Perl正则表达式扩展。普通正则表达式可以工作。1)sub。没有软件包的简单解决方案
sub(".*'statuses_count': (\\d+).*", "\\1", x)
## [1] "4414"
正则表达式的可视化:
.*'statuses_count': (\d+).*
\D
'statuses_count': (\d+)
2)gsub如果我们知道字符串中没有其他数字(如示例中所示),则更容易删除非数字:
gsub("\\D", "", x)
## [1] "4414"
正则表达式的可视化:
.*'statuses_count': (\d+).*
\D
'statuses_count': (\d+)
3)Straply或straplyc此方法涉及一个相对简单的正则表达式:
library(gsubfn)
strapplyc(x, "'statuses_count': (\\d+)", simplify = TRUE)
## [1] "4414"
或者,如果需要数字输出:
strapply(x, "'statuses_count': (\\d+)", as.numeric, simplify = TRUE)
## [1] 4414
正则表达式的可视化:
.*'statuses_count': (\d+).*
\D
'statuses_count': (\d+)
注意::这些都不需要Perl正则表达式扩展。普通正则表达式可以工作。我认为最好使用RJSONIO
或jsonlite
库。我认为最好使用RJSONIO
或jsonlite
库。