作者love11098787 (sunny_girl)
看板R_Language
標題[問題] 擷取中文特定字串
時間Wed Aug 5 15:45:23 2020
[問題類型]
程式諮詢
[軟體熟悉度]
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
我想要把欄位中的**區擷取出來,網路上看到很多正規式的方式,但因為資料格式不太一致,無法用選位置的方式,想請假板上的神人應該怎麼寫,先感謝了!
[程式範例]:
https://i.imgur.com/6AwcUJ8.jpg
[環境敘述]:
R 3.6.0
[關鍵字]:
字串擷取
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.60.223 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1596613525.A.765.html
1F:推 andrew43: 我建議直接列舉所有直轄市的區名去抓,比純靠reg exp的 08/05 16:49
2F:→ andrew43: 邏輯還穩當。 08/05 16:49
3F:推 locka: 推Andrew大!有的區是三個字(ex:那瑪夏區)直接用清單比對比 08/05 16:59
4F:推 locka: 較不會錯 08/05 16:59
5F:→ love11098787: 這筆資料只有台北市的,看過區應該都剛好是三個字 08/05 17:31
6F:→ andrew43: 補上code,包括之後檢查的方向。 08/05 18:07
8F:→ love11098787: 感謝A大!!!成功了 08/05 21:49
9F:→ love11098787: 遇到character(0)要怎麼刪除,我用data[length(dat 08/06 09:54
10F:→ love11098787: a$region)>0]發現刪不掉 08/06 09:54
11F:→ andrew43: `data`是list嗎?用雙重中括號 08/06 14:33
12F:→ andrew43: 更正,試試在我的code後res[sapply(res, length) != 0] 08/06 14:37
13F:→ love11098787: data是資料框 08/06 14:49
14F:→ love11098787: character(0)還是無法刪除 08/06 14:57
15F:→ andrew43: 請以code重現你的操作。 08/06 15:04
16F:→ love11098787: data$region[sapply(data$region,length)!=0] 08/06 15:16
17F:→ andrew43: 沒有完整重現困難的code與假資料實在無能為力 08/06 15:28
20F:→ andrew43: 試試用x<-character(0); identical(x, character(0))去 08/06 15:58
21F:→ andrew43: 一個一個檢驗。x應對應一個cell而非一整個column。 08/06 15:58
22F:→ love11098787: 找到方法了,在前面資料處理的時候拿掉不要的字串 08/06 17:31
23F:→ love11098787: ,之後就不會出現了,感謝你! 08/06 17:31