[问题] 撷取中文特定字串

楼主: love11098787 (Laipi_lai)   2020-08-05 15:45:23
[问题类型]
程式咨询
[软件熟悉度]
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我想要把字段中的**区撷取出来,网络上看到很多正规式的方式,但因为资料格式不太一致,无法用选位置的方式,想请假板上的神人应该怎么写,先感谢了!
[程式范例]:
https://i.imgur.com/6AwcUJ8.jpg
[环境叙述]:
R 3.6.0
[关键字]:
字串撷取
作者: andrew43 (讨厌有好心推文后删文者)   2020-08-05 16:49:00
我建议直接列举所有直辖市的区名去抓,比纯靠reg exp的逻辑还稳当。
作者: locka (locka)   2020-08-05 16:59:00
推Andrew大!有的区是三个字(ex:那玛夏区)直接用清单比对比较不会错
楼主: love11098787 (Laipi_lai)   2020-08-05 17:31:00
这笔资料只有台北市的,看过区应该都刚好是三个字
作者: andrew43 (讨厌有好心推文后删文者)   2020-08-05 18:07:00
补上code,包括之后检查的方向。https://pastebin.com/vcM8tHyE
楼主: love11098787 (Laipi_lai)   2020-08-05 21:49:00
感谢A大!!!成功了遇到character(0)要怎么删除,我用data[length(data$region)>0]发现删不掉
作者: andrew43 (讨厌有好心推文后删文者)   2020-08-06 14:33:00
`data`是list吗?用双重中括号更正,试试在我的code后res[sapply(res, length) != 0]
楼主: love11098787 (Laipi_lai)   2020-08-06 14:49:00
data是资料框character(0)还是无法删除
作者: andrew43 (讨厌有好心推文后删文者)   2020-08-06 15:04:00
请以code重现你的操作。
楼主: love11098787 (Laipi_lai)   2020-08-06 15:16:00
data$region[sapply(data$region,length)!=0]
作者: andrew43 (讨厌有好心推文后删文者)   2020-08-06 15:28:00
没有完整重现困难的code与假资料实在无能为力
作者: andrew43 (讨厌有好心推文后删文者)   2020-08-06 15:58:00
试试用x<-character(0); identical(x, character(0))去一个一个检验。x应对应一个cell而非一整个column。
楼主: love11098787 (Laipi_lai)   2020-08-06 17:31:00
找到方法了,在前面资料处理的时候拿掉不要的字串,之后就不会出现了,感谢你!

Links booklink

Contact Us: admin [ a t ] ucptt.com