[問題] 截取中文字 資料清洗

看板Python作者 (皮爾掰)時間6年前 (2017/11/21 22:57), 編輯推噓10(10014)
留言24則, 6人參與, 6年前最新討論串1/1
小弟想要把網路上截取的留言做資料清洗 只留下中文字 在網路上看到以下編碼 #!/usr/bin/env python # -*- encoding: utf8 -*- import re sample = u'I am from 美国。We should be friends. 朋友。' for n in re.findall(ur'[\u4e00-\u9fff]+',sample): print n 1.想請問這unicode是只有簡體字的範圍嗎 還是可以改成大五碼嗎 2.有其他推薦方法可以只留下中文字 去處全形標點符號跟表情符號嗎 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.226.7 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1511276238.A.472.html

11/21 23:37, 6年前 , 1F
用re.sub刪掉不要的符號呢
11/21 23:37, 1F

11/21 23:43, 6年前 , 2F
chstring = re.sub(r'[a-zA-Z0-9(){}《》::%?=※\s+\.\
11/21 23:43, 2F

11/21 23:43, 6年前 , 3F
!\/_$%^*(+\"\']+|[+——!,?、~@#¥%……&*()。,「
11/21 23:43, 3F

11/21 23:43, 6年前 , 4F
」-]+','',sample)
11/21 23:43, 4F

11/22 01:02, 6年前 , 5F
好像可以耶感謝,只剩表情符號這樣不能處理~~
11/22 01:02, 5F

11/22 01:54, 6年前 , 6F
好像不行 中文字有的會變亂碼耶
11/22 01:54, 6F

11/22 17:52, 6年前 , 7F
我是用 Zhon punctuation 你可以試試
11/22 17:52, 7F

11/22 18:12, 6年前 , 8F
你可以用負向匹配的 把不是中文的字元取代掉
11/22 18:12, 8F

11/22 18:15, 6年前 , 9F
re.sub('[^\u4e00-\u9fff]+', '', s)
11/22 18:15, 9F

11/22 23:22, 6年前 , 10F
感覺樓上的方法不錯
11/22 23:22, 10F

11/23 04:24, 6年前 , 11F
首先應該可以考慮搬家到python3了
11/23 04:24, 11F

11/23 04:25, 6年前 , 12F
然後用cyf大說的zhon和string內的puctuation就能解大
11/23 04:25, 12F

11/23 04:26, 6年前 , 13F
部分 最後利用table+translate的方式來做
11/23 04:26, 13F

11/23 04:26, 6年前 , 14F
這方法應該是python中跑最快的 re稍慢一點
11/23 04:26, 14F

11/23 04:27, 6年前 , 15F
像numpy jupyter pandas...不少都說以後不支援py2了
11/23 04:27, 15F

11/23 11:01, 6年前 , 16F
C大 G大可以示範一下zhon的作法嗎~小弟新手print re.sub
11/23 11:01, 16F

11/23 11:01, 6年前 , 17F
(ur"[%s]+" %punctuation, "", line.decode("utf-8")) 沒
11/23 11:01, 17F

11/23 11:01, 6年前 , 18F
有替代效果
11/23 11:01, 18F

11/23 16:44, 6年前 , 19F
https://goo.gl/Uw6uuc 不過python2我記得語法要改
11/23 16:44, 19F

11/23 16:51, 6年前 , 20F
呃為啥gist會被鎖啊 = = 晚點有空再弄
11/23 16:51, 20F

11/23 16:53, 6年前 , 21F

11/24 11:05, 6年前 , 22F
用python3編譯可以了感謝!接著要處理emoji了~
11/24 11:05, 22F

11/24 15:04, 6年前 , 23F
我發現我punctuation另一個沒建只用maxunicode哈哈
11/24 15:04, 23F

11/24 15:04, 6年前 , 24F
這樣根本沒用到zhon的東西XD 反正就跟eng_table一樣
11/24 15:04, 24F
文章代碼(AID): #1Q53xEHo (Python)