[问题] 用一行code str_detect 判断多个string元素

楼主: wanson (望生)   2016-11-19 17:12:14
我上网看到有人讨论
当要判断的strin 为多个可以用
string =c("a","b")
str_detect(data, paste(string, collapse = '|'))
用| 去判断字串中有 a or b的出现有无
我后来想如果我要取“同时”要有a 与b 本以为只要把| 换成 &
可以得到结果
但发现似乎没有相关的讨论
想要请问一下 是否有更好简洁的写法帮助我完成这个需求
作者: celestialgod (天)   2016-11-19 18:53:00
同时要有 就只能写两个str_detect 再用&接起来这里的 | 是regular expression 不是逻辑运算子
作者: andrew43 (讨厌有好心推文后删文者)   2016-11-19 19:03:00
要一次的话regex pattern会很丑吧,如果不只a和b的话。
楼主: wanson (望生)   2016-11-19 20:24:00
查了一下regular expression 的确没有很合的 就算+也不太适用 似乎回圈是比较好读跟方便的选择了
作者: cywhale (cywhale)   2016-11-20 00:46:00
用grepl("a",strs) & grepl("b",strs)?
作者: celestialgod (天)   2016-11-20 14:47:00
查了一下垃圾桶,W大你似乎删掉不少篇有回应的文章如果再继续删除的话,我会考虑不再回你文章
作者: psinqoo (零度空間)   2016-11-22 08:52:00
我是建议删文水桶

Links booklink

Contact Us: admin [ a t ] ucptt.com