R,字符串匹配或字符串匹配字符串组合

R, String Match or String match combination of strings

我有一组字符串,例如 "United Kingdom"、"United States"、"China"、"India"、 And Other String 必须与上述字符串集合进行比较,并且可以是上述字符串集合的多个值的组合,以“|”分隔.

喜欢的例子:

String1 <- "China"
String2 <- "United States|China"
String3 <- "United States|India|China"
SetoFStrings <- c("United Kingdom","United States","China","India")

所以在所有情况下,当将 String1、String2、String3 与 SetofStrings 进行比较时,结果值必须为真。如何做到这一点

我们可以使用 anygrepl

any(grepl(String1, SetoFStrings))
#[1] TRUE
any(grepl(String2, SetoFStrings))
#[1] TRUE
any(grepl(String3, SetoFStrings))
#[1] TRUE

如果 objective 是在输入 post

中创建“字符串”
sapply(dat2$Strings, function(pat) any(grepl(pat, SetoFStrings)))

数据

dat1 <- data.frame(Col1 = c('China', 'UnitedStates', 'India'), stringsAsFactors= FALSE)
dat2 <- data.frame(Strings =  Reduce(function(...) paste(..., sep="|"), 
           dat1$Col1, accumulate = TRUE), stringsAsFactors=FALSE)