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 进行比较时,结果值必须为真。如何做到这一点
我们可以使用 any
和 grepl
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)
我有一组字符串,例如 "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 进行比较时,结果值必须为真。如何做到这一点
我们可以使用 any
和 grepl
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)