Python Language str.translate: Translating characters in a string


Python supports a translate method on the str type which allows you to specify the translation table (used for replacements) as well as any characters which should be deleted in the process.

str.translate(table[, deletechars])
tableIt is a lookup table that defines the mapping from one character to another.
deletecharsA list of characters which are to be removed from the string.

The maketrans method (str.maketrans in Python 3 and string.maketrans in Python 2) allows you to generate a translation table.

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

The translate method returns a string which is a translated copy of the original string.

You can set the table argument to None if you only need to delete characters.

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