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

时间:2017-05-24 06:14:08

标签: r string grepl

我有“英国”,“美国”,“中国”,“印度”等字符集, 和其他字符串必须与上面的字符串集进行比较,并且可以将上述字符串集合的多个值组合为“|”

例如:

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

所以在所有情况下,当String1,String2,String3与SetofStrings进行比较时,Result值必须为true。怎么做呢

1 个答案:

答案 0 :(得分:1)

我们可以将anygrepl

一起使用
any(grepl(String1, SetoFStrings))
#[1] TRUE
any(grepl(String2, SetoFStrings))
#[1] TRUE
any(grepl(String3, SetoFStrings))
#[1] TRUE

如果目标是在输入帖子中创建'字符串

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)