我想检查string1中是否存在string2的每个单词。示例
#1
我希望以下代码应该返回TRUE
string1 <- "My name is John Smith"
string2 <- "My Smith"
但它返回false
答案 0 :(得分:2)
如果一切都是TRUE
那么它就会出现,否则就没有。
> string1 <- "My name is John Smith"
> string2 <- "My Smith"
>
> strsplit(string2,' ')[[1]] %in% strsplit(string1,' ')[[1]]
[1] TRUE TRUE
>
测试用例:
> string3 <- 'He is Smith'
> strsplit(string3,' ')[[1]] %in% strsplit(string1,' ')[[1]]
[1] FALSE TRUE TRUE
答案 1 :(得分:0)
你可以这样做。如果在TRUE
中找到拆分string2
的所有元素,则为string1
。
all(sapply(unlist(strsplit(string2, " ")), grepl, string1))
[1] TRUE
答案 2 :(得分:0)
使用str_detect
中的stringr
:
string1 <- "My name is John Smith"
string2 <- "My Smith"
library(stringr)
library(dplyr)
string1 %>%
str_detect(str_split(string2, " ", simplify = TRUE)) %>%
all()
# [1] TRUE
而不是unlist()
,您可以使用simplify = TRUE
中的str_split