如何在文本中找到模式并在r中减去它

时间:2014-03-07 06:10:46

标签: r

  

text< -c('Epson Korea,一家以彩色打印机而闻名的公司   投影仪,在当地展示了由Android OS驱动的智能眼镜   电影院CGV在首尔清潭洞,早上   星期三。智能眼镜的显示器可以戴在头上   佩戴者可以躺着看电影。 “)

     

模式< -c('电影CGV清潭首尔')

我想仅使用该模式从文本中减去句子,就像这样。

  

首尔清潭洞的电影院CGV

所以我尝试使用'grep'和'substr',但这并不容易。

  

pattern2< -c('movie |。* | CGV |。* | Cheongdam |。* | Seoul')

     

t< -strsplit(text,'')

     

m< -grep(pattern2,text)

     

SUBSTR(T,M,ATTR(米, “match.length”))

怎么做?

2 个答案:

答案 0 :(得分:2)

regmatches(text, regexpr('movie.*Seoul', text))

答案 1 :(得分:0)

您还可以使用sub功能:

sub(".*\\b(movie\\b.*\\bSeoul)\\b.*", "\\1", text)
# [1] "movie theater CGV in Cheongdam-dong, Seoul"