只保留文本中的中英文和符号.,其余都删除
想要只保留文本中的中英文和符号.,其余都删除吗?下面这个程序可以帮您。它简洁、高效,用python实现,只要把正则表达式换成你想要的就可以了。(python3实现)
代码实现:
import re
my_file_path = 'data/百度百科语料.txt'
save_file_path = 'data/百度百科语料_去除符号.txt'
# 打开文件
my_file = open(my_file_path, 'r', encoding='utf-8')
# 只保留中英文、数字和.的正则表达式
cop = re.compile("[^\u4e00-\u9fa5^.^a-z^A-Z^0-9]")
for line in my_file.readlines():
string = cop.sub("", line)
save_file = open(save_file_path, 'a', encoding='utf-8')
save_file.write(string)
save_file.flush()
save_file.close()
# ascii(my_file.read(3)[0]) 获取unicode编码
# 关闭文件
my_file.close()
代码说明:[^\u4e00-\u9fa5^.^a-z^A-Z^0-9] 为需要替换的字符;string = cop.sub(“”, line) 即把文本中匹配到的字符替换成空字符;my_file_path为要处理的文件,里面是文本;save_file_path为处理完成之后的文本文件。