标签:
要处理文档,需要将一个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出来的结果是
[‘帅府护病房‘, ‘手机动画‘, ‘‘] [‘岁的胡思凡‘, ‘是对俄方‘, ‘‘]
标签:
原文地址:http://www.cnblogs.com/yinruyi/p/4318814.html