码迷,mamicode.com
首页 > 编程语言 > 详细

Python关于文本中标点符号及其他的替换

时间:2015-03-06 18:59:53      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:

要处理文档,需要将一个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出来的结果是

[‘帅府护病房‘, ‘手机动画‘, ‘‘]
[‘岁的胡思凡‘, ‘是对俄方‘, ‘‘]

 

Python关于文本中标点符号及其他的替换

标签:

原文地址:http://www.cnblogs.com/yinruyi/p/4318814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!