字符串提取,用于从文本中提取数字

时间:2017-11-23 08:06:47

标签: r regex stringr

如何从不是日期的文本中提取3位数字?

示例:

"she is born on 02-05-1934 and she is 200 years old." 

那么,我如何从这里提取200

我正在使用代码:

str_extract(data,"[[:digit:]]{3}")

但它返回-193的输出。

1 个答案:

答案 0 :(得分:5)

我们可以使用regexlookarounds来指定数字以空格开头,后跟空格(基于显示的模式)

library(stringr)
as.numeric(str_extract(str1, "(?<=\\s)\\d+(?=\\s)"))
#[1] 200

数据

str1 <- "she is born on 02-05-1934 and she is 200 years old"