隔离文本

时间:2015-04-29 14:03:34

标签: r grep stringr

我有大量文本要浏览各种属性的文本csv文件,以查找属性的平方米数值实际上是什么。例如:

string <- "This is a wonderful 120 sqm flat with a stunning view"

我知道我可以使用以下内容来提取数值:

sqm <- as.numeric(gsub("\\D", "", string)) 

返回&#39; 120&#39;的数字向量,应该如此。但是,我想知道是否有更复杂的方法来实现这一点,因为文本中可能还有其他不相关的数值?

有没有办法搜索&#39; sqm&#39;并返回它之前的数字?非常感谢您的任何评论。

1 个答案:

答案 0 :(得分:2)

我相信这个正则表达式预测应该有效:

library(stringr)
##
string <- "This is a wonderful 120 sqm flat with a stunning view"
re <- "((\\d+)(?=\\s?sqm))"
##
R> str_extract(string, perl(re))
[1] "120"