2017-06-14 52 views
-1

我需要從下面的文本中提取某些圖案。如何從字符串中提取重複的圖案

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" 
+0

通常有更簡單的方法。你怎麼得到這個字符串?在'rvest'包中,有一個函數允許你在一個對象上執行'rvest :: html_text()',這個對象是例如'rvest :: read_html(your_url)' –

+0

我編輯了問題 – user3357059

+0

'stringr :: str_extract_all(x,'Budget [0-9] {4} - [0-9] {4}')'? – Sotos

回答

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" 
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"