在R中的字符串之前提取数值

时间:2018-11-14 02:19:04

标签: r

我一直在使用正则表达式字符串和strsplit,但是却不知道如何解决我的问题。

我有一些html文档,这些文档将始终包含短语"people own these"。我想提取此短语之前的数字。即“ 732,234个人拥有这些商品”-我希望捕获732,234(包括逗号,尽管我不在乎是否将其删除)。 数字和词组始终被包围。我尝试使用Xpath,但这似乎比正则表达式更难。任何帮助或建议,我们将不胜感激!

示例字符串:> 742,811个人拥有这些

-> 742,811

2 个答案:

答案 0 :(得分:3)

请您尝试以下。

val <- "742,811 people own these"
gsub(' [a-zA-Z]+',"",val)

输出如下。

[1] "742,811"

说明: :此处使用R的gsub(全局替换)功能。将条件放在此处,应将变量val的所有出现的空格都替换为带有小写或大写字母的NULL。

答案 1 :(得分:2)

尝试使用str_extract_all库中的stringr

str_extract_all(data, "\\d{1,3}(?:,\\d{3})*(?:\\.\\d+)?(?= people own these)")