我有一个字符串向量,说:
vect<-c("oxidor magnesio","oxido magnesio","oxido calcio", "oxidante","oxido calcio magnesio","magnesio oxido")
Run Code Online (Sandbox Code Playgroud)
我想找到两个词的出现,"oxido"和"magnesio".我正在做的是
intersect(grep("\\boxido\\b",vect),grep("\\bmagnesio\\b",vect))
Run Code Online (Sandbox Code Playgroud)
但,
2和5).命令是什么?谢谢,
编辑.答案1:我知道grepl能够做到这一点,例如:
> grepl("(?=.*\\boxido\\b)(?=.*\\bmagnesio\\b)", vect, perl = TRUE)
[1] FALSE TRUE FALSE FALSE TRUE TRUE
Run Code Online (Sandbox Code Playgroud)
答案2:
> grep("\\boxido\\b.*\\bmagnesio\\b",vect,v=T)
[1] "oxido magnesio" "oxido calcio magnesio"
Run Code Online (Sandbox Code Playgroud)