如何从字符串中提取重复的pattterns

时间:2017-06-14 21:07:11

标签: r gsub regex-lookarounds

我需要从下面的文字中提取某些模式。

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Budget 2016-2017 
Curabitur dictum gravida mauris. Budget 2015-2016 mauris ut leo. Cras 
viverra metus rhoncus sem

我需要获得'预算\ d {4} - \ d {4}'文本的一部分,如下所示:

 [1] "Budget 2016-2017" "Budget 2015-2016"

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式获得所需内容:

library(stringr)
string <- "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Budget 2016-2017 Curabitur dictum gravida mauris. Budget 2015-2016 mauris ut leo. Cras  viverra metus rhoncus sem"

unlist(str_extract_all(string, 'Budget [0-9]{4}-[0-9]{4}'))

结果:

> unlist(str_extract_all(string, 'Budget [0-9]{4}-[0-9]{4}'))
[1] "Budget 2016-2017" "Budget 2015-2016"

答案 1 :(得分:0)

关闭的事情

s <- "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Budget 2016-2017 Curabitur dictum gravida mauris. Budget 2015-2016 mauris ut leo. Cras  viverra metus rhoncus sem"

gsub(".*(Budget [0-9]{4}-[0-9]{4}).*", "\\1", s)
[1] "Budget 2015-2016"