我有一个文本文件,逐行读取。在每一行中,如果存在特殊字符,则将特殊字符移除,并使用正则表达式来帮助实现此操作。
fh = open(r"abc.txt","r+")
data = fh.read()
#print re.sub(r'\W+', '', data)
new_str = re.sub('[^a-zA-Z0-9\n\.;,?!$]', ' ', data)
所以,在我的数据中,我只保留字母数字和一些特殊符号,它们是[.;,?!$],但同时我也想要欧元符号(€)、英镑符号(£)、日元符号(¥)和卢比符号(₹)。但这些不属于ASCII字符,所以当我在正则表达式中包含它们时,如re.sub('[^a-zA-Z0-9\n.;,?!$€₹¥]', ' ', data),它会显示错误信息。 SyntaxError:文件preprocess.py的第23行存在非ASCII字符'\xe2',但未声明编码。