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
注意输入|时必须要输入|,因为|本身是正则表达式的一个符号。