1.多字节问题必须要全部转成unicode再处理,否则就会有问题,比如中文gbk编码的"和珅",其中的珅的后半字节和|的一样的,所以在处理的时候会有问题,如下我们用re.split来分割:
#用正则分隔某个字符串
def split(str, patternlist):
unicodestr = str.decode('gbk')
result = []
for i in patternlist:
unicodei = i.decode('gbk')
outlist = re.split(unicodei, unicodestr)
for j in outlist :
gbk = j.encode('gbk')
if str != gbk :
result.append(gbk)
return result
注意输入|时必须要输入\|,因为|本身是正则表达式的一个符号。