Python關於文本中標點符號及其他的替換


要處理文檔,需要將一個TXT文檔(如用戶評論)的評論段將其所有的標點符號前后的評論都分成每一行。如:

帥府護病房,手機動畫。  
歲的胡思凡,是對俄方。

 處理成:

帥府護病房 手機動畫  
歲的胡思凡 是對俄方

 這樣方便Python進一步對文本進行處理。通常有以下兩種處理:

 

1 from string import punctuation  
2 import re  
3 lis=['帥府護病房,手機動畫。','歲的胡思凡,是對俄方。']  
4 b=["/".join([c for c in x if c not in punctuation])  for x in lis]  
5 print(b)
6 #['帥/府/護/病/房/手/機/動/畫/。', '歲/的/胡/思/凡/,/是/對/俄/方/。']   
7 c=[ re.sub(r'[{}]+'.format(punctuation),'/',x ) for x in lis]  
8 print(c)
9 #['帥府護病房/手機動畫。', '歲的胡思凡,是對俄方。'] 

顯然第一種是對每一個字進行判斷,這樣達不到預期,而第二種進過對punctuation的print

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 

其實punctuation就是一個英文的標點庫,那么把中文的也加進去就沒有任何問題了。

1 import re
2 lis=['帥府護病房,手機動畫。','歲的胡思凡,是對俄方。']
3 e=[ re.sub(r'[{}]+'.format(haha),'/',x ) for x in lis]
4 print(e)
5 for i in e:
6     ee=i.split('/')
7     print(ee)

這樣print出來的結果是

['帥府護病房', '手機動畫', '']
['歲的胡思凡', '是對俄方', '']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM