NLP文本清理时常用的python小函数

1 # coding = utf-8
2 import re

1. 清理杂七杂八字符

 1 '''
 2 [a-zA-Z0-9] 字母数字
 3 [\u4e00-\u9fa5] 汉字的utf-8 code范围
 4 '''
 5 # 保留字母、数字、汉字和标点符号(),.!?":
 6 def remove_others(s):    
 7     return re.sub(r'[^a-zA-Z0-9\u4e00-\u9fa5(),.!?":]', ' ', s)
 8 
 9 # 删除多余的空白(including spaces, tabs, line breaks)'''
10 def remove_whitespaces(s):
11     return re.sub(r'\s{2,}', ' ', s)

2. 社交媒体文本中清除 @其他人

 1 def remove_atpeople(s):
 2     '''删除文本中@与其后面第一个空格之间的内容'''
 3     s = re.sub(r'@', ' @', s)
 4     s = re.sub(r':', ': ', s)
 5     ls = s.split()
 6     nls = []
 7     for t in ls:
 8         if t[0] == '@':
 9             continue
10         else:
11             nls.append(t) 
12 
13     return ' '.join(nls)

 

posted @ 2019-09-27 19:53  wxiaoli  阅读(692)  评论(0编辑  收藏  举报