新闻文本数据中不仅包括了中文字符,还包括了数字、英文字符、标点等非常规字符,这些都是无意义,并且需要处理的数据,清洗的方法使用的是正则表达式。
方法一:借助Unicode编码,16进制筛出中文字符
匹配规则为:[\u4e00-\u9fa5],\un匹配n,其中n是一个用四个十六进制数字表示的Unicode字符,而4e00-9fa5之间的Unicode编码表示的是20000多个中文字符。具体编码如下:
#匹配[^\u4e00-\9fa5]
def find_chinese(text):
pattern=re.compile(r'[^\u4e00=\u9fa5]')
chinese_txt=re.sub(pattern,'',text)
return chinese_txt
解释:[\u4e00-\u9fa5]表示匹配汉字,[^\u4e00-\u9fa5]表示匹配除汉字以外的所有字符。
方法二