在字符串列表中查找单词

Find the words in list of strings

我有

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

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

"this is word1"

我是 R 的新手,请原谅我提出这样愚蠢的问题。 欢迎任何想法。

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

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