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'