看板 R_Language 關於我們 聯絡資訊
我想要利用str_which函數 挑出不含中文的index 但是不太會寫regex 以下是測試資料 x=c("台中1號",","95.39","15.708.78","統計所") 希望可以回傳向量2 ,3 希望版友幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.221.179 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1594118185.A.C90.html
locka: 版上搜尋reg關鍵字可以找到很多文哦,建議原po趁這次學起來 07/07 19:35
locka: ,對未來資料處理會非常有幫助,因為所有程式語言都可以用 07/07 19:35
locka: 正則表達式。 07/07 19:35
locka: 對了,以上述的範例來說,直接抓純數字跟小數點的組合可能 07/07 19:37
locka: 會比較簡單一點 07/07 19:37
andrew43: 同locka,抓到「整串都是數字或小數點」可用"^[0-9.]+$" 07/07 22:04
比較麻煩的是並不是純小數,而是有亂馬的那種 例如23.234.25235或是 23_dasdf ※ 編輯: empireisme (219.91.82.174 臺灣), 07/07/2020 23:45:27
daze: grepl("[\\p{Han}]", strings , perl = T) 07/08 01:04
daze: 但如果有區別日文漢字與中文漢字的需求的話要另外想辦法 07/08 01:13
locka: 所以有亂碼是要抓出來還是不要? 07/08 07:40
empireisme: 要抓出所有不含中文的字 07/08 09:06
lawfulevil: stringr是用ICU library的regex,支援\p{Han},不需要 07/08 11:35
lawfulevil: perl=T。 07/08 11:35
lawfulevil: str_which(x,"[\\p{Han}]", negate=T) 應可得到不含 07/08 11:38
lawfulevil: 漢字的index 07/08 11:38
empireisme: 真的有用,感恩 07/08 15:04