查找字符串列表

时间:2017-09-25 11:44:15

标签: r regex sapply grepl

我有

words <- c("word1", "word")
text <- c("this is word1", "this is word2", "this is word4")

如果我使用sapply(words, grepl, text)给你答案为真和假, 相反,我怎样才能得到匹配的确切单词 这样答案就是

"this is word1"

我是新来的赦免这个愚蠢的问题。 欢迎任何想法。

1 个答案:

答案 0 :(得分:1)

一个选项是创建单词边界,然后使用grep来避免字符串和value = TRUE的任何部分匹配,它返回字符串而不是索引

grep(paste0("\\b(", paste(words, collapse="|"), ")\\b"), text, value = TRUE)
#[1] "this is word1"