我有一个字符串列表如下:
tofind<-c("aaa","bbb","ccc","ddd")
Run Code Online (Sandbox Code Playgroud)
我还有一个向量如下:
n<-c("aaabbb","aaa","aaacccddd","eee")
Run Code Online (Sandbox Code Playgroud)
我想找到我的tofind字符串的所有匹配项,以便输出应该是:
aaa,bbb
aaa
aaa,ccc,ddd
Run Code Online (Sandbox Code Playgroud)
我想我可以使用,str_extract_all但它没有给我预期的输出
library(stringr)
sapply(n, function(x) str_extract_all(n,tofind)
Run Code Online (Sandbox Code Playgroud)
我如何获得预期的输出?
您可以创建一个正则表达式:
tofind <- paste(c("aaa","bbb","ccc","ddd"), collapse="|")
str_extract_all(n, tofind)
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)[[1]] [1] "aaa" "bbb" [[2]] [1] "aaa" [[3]] [1] "aaa" "ccc" "ddd" [[4]] character(0)