str.translate 翻译字符串中的字符

Python 支持 str 类型的 translate 方法,它允许你指定转换表(用于替换)以及在此过程中应删除的任何字符。

str.translate(table[, deletechars])
参数 描述
table 它是一个查找表,用于定义从一个字符到另一个字符的映射。
deletechars 要从字符串中删除的字符列表。

maketrans 方法(Python 3 中的 str.maketrans 和 Python 2 中的 string.maketrans)允许你生成转换表。

>>> translation_table = str.maketrans("aeiou", "12345")
>>> my_string = "This is a string!"
>>> translated = `my_string.translate(translation_table)`
'Th3s 3s 1 str3ng!'

translate 方法返回一个字符串,该字符串是原始字符串的翻译副本。

如果只需要删除字符,可以将 table 参数设置为 None

>>> 'this syntax is very useful'.translate(None, 'aeiou')
'ths syntx s vry sfl'