用Python将英文键盘文本转换为俄语

时间:2020-07-13 07:45:21

标签: python string replace

我正在尝试将包含英文键盘“ gjceljvjtxyfz”中的字母的字符串替换为相应的俄语“посудомоечная”。我不是要从英语翻译或音译为俄语,而是要用俄语键盘上的相应字母替换英文字母。我尚未找到任何Python库或有用的代码来解决此问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用translate方法。它要求将整数(字符代码)映射到字符(长度为1的字符串)。您可以手动创建此映射,如下所示:

translation = {}
translation[ord('q')] = 'й'
translation[ord('w')] = 'ц'
...

然后使用它:

s1 = "gjceljvjtxyfz"
s2 = s1.translate(translation)

如果要避免创建translation表的冗长而低效的代码,可以使用maketrans

translation = str.maketrans(dict(zip('qwerty','йцукен')))

Python 2和3的细节略有不同;上面的代码部分适用于Python 3。