检查列表中是否包含字符串

时间:2017-12-01 01:20:10

标签: r

我试图找到一种方法来检查列表是否包含一个本身包含特定字符串的元素。使用%in%

查找完全匹配很简单
list1 <- list("a","b","c")
"a" %in% list1
[1] TRUE

但它只有在元素相同时才有效,即如果元素只包含字符串,它就不会返回TRUE:

list2 <- list("a,b","c,d")
"a" %in% list2
[2] FALSE

有没有办法为第二个例子生成TRUE?提前谢谢。

2 个答案:

答案 0 :(得分:0)

你可以尝试翻转并使用

len()

包含any(list2 %like% 'a') 因为没有它,输出为:any()

答案 1 :(得分:0)

library(stringi)

list2 <- list("a,b","c,d")

stri_detect_fixed(list2, "a")
## [1]  TRUE FALSE

stri_detect_fixed(list2, "b")
## [1]  TRUE FALSE

stri_detect_fixed(list2, "c")
## [1] FALSE  TRUE

stri_detect_fixed(list2, "d")
## [1] FALSE  TRUE

stri_detect_fixed(list2, "q")
## [1] FALSE FALSE