[問題] 用一行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