[問題] 用一行code str_detect 判斷多個string元素

看板R_Language作者 (望生)時間9年前 (2016/11/19 17:12), 編輯推噓4(405)
留言9則, 5人參與, 最新討論串1/2 (看更多)
我上網看到有人討論 當要判斷的strin 為多個可以用 string =c("a","b") str_detect(data, paste(string, collapse = '|')) 用| 去判斷字串中有 a or b的出現有無 我後來想如果我要取「同時」要有a 與b 本以為只要把| 換成 & 可以得到結果 但發現似乎沒有相關的討論 想要請問一下 是否有更好簡潔的寫法幫助我完成這個需求 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.211.164 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1479546736.A.7D4.html

11/19 18:53, , 1F
同時要有 就只能寫兩個str_detect 再用&接起來
11/19 18:53, 1F

11/19 18:53, , 2F
這裡的 | 是regular expression 不是邏輯運算子
11/19 18:53, 2F

11/19 19:03, , 3F
要一次的話regex pattern會很醜吧,如果不只a和b的話。
11/19 19:03, 3F

11/19 20:24, , 4F
查了一下regular expression 的確沒有很合的 就算+也不太
11/19 20:24, 4F

11/19 20:24, , 5F
適用 似乎回圈是比較好讀跟方便的選擇了
11/19 20:24, 5F

11/20 00:46, , 6F
用grepl("a",strs) & grepl("b",strs)?
11/20 00:46, 6F

11/20 14:47, , 7F
查了一下垃圾桶,W大你似乎刪掉不少篇有回應的文章
11/20 14:47, 7F

11/20 14:48, , 8F
如果再繼續刪除的話,我會考慮不再回你文章
11/20 14:48, 8F

11/22 08:52, , 9F
我是建議刪文水桶
11/22 08:52, 9F
文章代碼(AID): #1OC1TmVK (R_Language)
文章代碼(AID): #1OC1TmVK (R_Language)