您的位置:首页 > 编程语言 > Python开发

python之string.maketrans和str.translate

2017-04-04 15:51 323 查看

转载地址:http://blog.csdn.net/skyin333/article/details/8661131

示例:

[python] view
plain copy

import string    

    

s = 'abcd--dcba'    

    

# 参数from和to的长度必须一致    

table = string.maketrans('', '')   # type(table) is 'str'  

print(s.translate(table))   # 输出 abcd--dcba  

  

table = string.maketrans('ab', '12')  

print(s.translate(table))   # 输出 12cd--dc21  

  

# 将先删除'ad',然后再转换  

print(s.translate(table, 'ad'))     # 输出 2c--c2  

doc:

string.maketrans(from,to)
Return a translation table suitable for passing to translate(),
that will map each character in from into the character at the same position in to;from and to must have the same length.

Note
Don’t use strings derived from lowercase and uppercase as
arguments; in some locales, these don’t have the same length. For case conversions, always usestr.lower() andstr.upper().

str.translate(table[,deletechars])
Return a copy of the string where all characters occurring in the optional argument deletechars are removed, and the remaining characters have been mapped through the given translation table, which must be a string of length 256.

You can use the maketrans() helper
function in the string module
to create a translation table. For string objects, set the table argument to None for translations that only delete characters:

>>> 'read this short text'.translate(None, 'aeiou')
'rd ths shrt txt'


New in version 2.6: Support for a None table argument.
For Unicode objects, the translate() method
does not accept the optionaldeletechars argument. Instead, it returns a copy of thes where all characters have been mapped through the given translation table which must be a mapping of Unicode ordinals to Unicode ordinals, Unicode strings
or None. Unmapped characters are left untouched. Characters mapped to None are deleted. Note, a more flexible approach is to create a custom character mapping codec using the codecs module
(see encodings.cp1251 for an example).
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: