在Python 2.7中使用翻译

时间:2019-01-07 12:23:48

标签: python python-2.7 translate

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

我创建了一个翻译表:

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

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

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

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

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

但是我想知道是否有一种使用translate的方法。

2 个答案:

答案 0 :(得分:2)

当然,您需要为其提供适当的映射,以允许根据文档字符串使用__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*'

答案 1 :(得分:2)

这可以帮助您:

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