问题:
大量文本,将其中的特殊字符用空格替换,特殊字符如:◆★,日期[1990-11-23]等。
这些文本有如下特点:
1.文件名以中文命名
2.经测试,文件编码为UTF-8
先看程序:
# -*- coding: utf-8 -*-
import re
import chardet
import os
def dowork(dirname):
txt_filenames = os.listdir(dirname)
#需要替换的字符正则表达式:◆★[1990-2-30],这是核心
pat = r"(\xe2\x98\x85|\xe2\x97\x86)|(\[\d+-\d+-\d+\])"
repat = re.compile(pat)
i = 0
for filename in txt_filenames:
#选出正确的文件类型
if filename.find('.txt') == -1:
continue
#判断文件本身的类型是不是UTF-8
f = open(filename, 'r')
print 'open ' + filename
line = f.readline()
enc = chardet.detect(line)
#保存文件类型
fileencode = enc['encoding']
print enc
f.close()
#wname是新文件的名称
wname