有的时候,我们需要对多个字符进行逐一替换,一个应用场景就是去掉文章中所有的换行。
而用正则神马的有点大才小用,而一个一个replace也很麻烦,translate提供了这样的功能。
>>> str = " a\tb\rc\n " >>> print str ca b #创建翻译(替换)表,并替换,搞定 >>> import string >>> tb = string.maketrans("\r\n\t ", " ") >>> str.translate(tb) ' a b c '
补充:对于Unicode进行translate,不能用maketrans,否则会报错:
TypeError: character mapping must return integer, None or unicode
再次鄙视Python2的混乱字符编码。
#对于unicode,请手动构造translate表 tb = dict([ (ord(ch), u' ') for ch in u"\n\r\t "])