2017-10-23 7 views

答えて

4
sapply(x, function(string) all(Vectorize(grepl)(pattern = a, x = string))) 
#xxxabcxdxexfxx  xxaxbcdexx  xaxxxbc 
#   TRUE   FALSE   FALSE 

OR

rowSums(sapply(a, function(P) grepl(P, x))) == length(a) 
#[1] TRUE FALSE FALSE 

OR

を取得するには、 a内のすべての文字列が含まれている xの要素を見つけるしたいと思います を使用

OR

lengths(sapply(strsplit(x,""), setdiff, x = a)) == 0 
#[1] TRUE FALSE FALSE 
+1

作品、ありがとうございました! – arielle

+1

まだ最短の文字を持っています;-) –

1

lengths(gregexpr(pattern = paste(a, collapse = "|"), text = x)) == length(a) 
# [1] TRUE FALSE FALSE 
3

もう1:

sapply(strsplit(x,""), function(y) all(a %in% y)) 
+0

この場合はうまくいきますが、探している文字列が複数の文字であれば動作しないと思います。 – arielle

+0

そのようなシナリオでは、@ d.bと@ Henrikのソリューションのように 'grep'を使うのは当てはまります –

関連する問題