R中的多模式匹配

时间:2014-06-04 10:29:39

标签: r

对于多个模式匹配(存在于字符向量中),我尝试应用grep(paste(States,collapse="|), Description)。它工作正常,但这里的问题是

考虑,

Descritpion=C("helloWorld Washington DC","Hello Stackoverflow////Newyork RBC")
States=C("DC","RBC","WA")

如果多个模式与描述向量中的“WA”匹配。我的功能适用于“helloWorld ** Wa ** shington DC”因为“WA”存在。但我需要一个关于搜索模式的建议,不是在整个字符串中,而是在字符串的末尾,这里有DC,RBC。

提前致谢

1 个答案:

答案 0 :(得分:0)

我想你想要的东西如下。我已经冒昧地清理你的例子了。

Description <- c("helloWorld Washington DC", "Hello Stackoverflow", "Newyork RBC")
States <- c("DC","RBC","WA")

search.string <- paste0(States, "$", collapse = "|") # Construct the reg. exprs.
grep(search.string, Description, value = TRUE) 
#[1] "helloWorld Washington DC" "Newyork RBC"   

注意,我们使用$表示字符串结束匹配。