所以,如果我有以下
list <- c("catdog","chicken","poop")
names <- c("Fabio","John","Jack")
df <- data.frame(names, list, stringsAsFactors=FALSE)
names list
1 Fabio catdog
2 John cat
3 Jack dog
假设list是一列字符串。我想知道怎样才能返回&#34; cat&#34; AND &#34; dog&#34;在出现一对之后,它们可能会出现更多次。我试过了:
want <- c("cat","dog")
df[grepl(paste(want,collapse="&"),df$list),]
我知道这适用于&#34; |&#34;由于某种原因,它没有使用&#34;&amp;&#34;。如果有人可以帮助我,请告诉我。谢谢!
答案 0 :(得分:0)
如果'cat'和'dog'都不能在单个字符串中重复,这是一个选项。
df[grepl('(cat)|(dog).*(\\1|\\2)', df$list), ]