我正试图用Python中的葡萄牙语单词替换一些重音字母.
accentedLetters = ['à', 'á', 'â', 'ã', 'é', 'ê', 'í', 'ó', 'ô', 'õ', 'ú', 'ü']
letters = ['a', 'a', 'a', 'a', 'e', 'e', 'i', 'o', 'o', 'o', 'u', 'u']
Run Code Online (Sandbox Code Playgroud)
因此,重音字符将被字母数组中的字母替换.
通过这种方式,我的预期结果是例如:
ação => açao
frações => fraçoes
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
一个简单的翻译词典应该可以解决问题.对于每个字母,如果字母在字典中,请使用其翻译.否则,请使用原件.将单个字符加入一个单词.
def removeAccents(word):
repl = {'à': 'a', 'á': 'a', 'â': 'a', 'ã': 'a',
'é': 'e', 'ê': 'e',
'í': 'i',
'ó': 'o', 'ô': 'o', 'õ': 'o',
'ú': 'u', 'ü': 'u'}
new_word = ''.join([repl[c] if c in repl else c for c in word])
return new_word
Run Code Online (Sandbox Code Playgroud)