在 Python 2.7 中使用翻译

Using translate in Python 2.7

我有一个像 apple 这样的元音单词,想用 translate 替换星号的元音。我正在使用 Python 2.7.

我创建了一个翻译table:

import string
table = string.maketrans('*****', 'aeiou')

但是使用它会删除元音而不用星号替换元音:

>> 'apple'.translate(table, 'aeiou')
'ppl'

我已经知道我可以使用其他方法来实现它,例如 re:

import re
re.sub('[aeiou]', '*', 'Apple', flags=re.I)

但是我想知道有没有办法使用translate

当然,您需要根据 docstring

为其提供允许 __getitem__ 方法的正确映射
maps = {'a': '*', 'e': '*', 'o': '*', 'i': '*', 'u': '*'}

table = str.maketrans(maps)

'apple'.translate(table)

'*ppl*'

既然你现在提到Python 2.7解决方案,那就是这样的:

import string

table = string.maketrans('aeoiu', '*****')

'apple'.translate(table)
'*ppl*'

这可以帮助你:

table = string.maketrans('aeiou', '*****')
'apple'.translate(table)