5

可能重复:
在 python unicode 字符串中删除重音的最佳方法是什么?

在某个系统中,我需要生成只允许使用纯 ascii 字符(az、0-9、破折号)的用户名。然而,许多用户的名字并不简单地符合这些限制,例如德国名字“Müller”或“Röthlin”。

现在这些变音符号有另一种输入方式(我确定它有一个名称,但我不知道 - 可能有助于谷歌搜索)

一种天真的方法是使用转换表:

name = name.replace('Ä', 'Ae')
name = name.replace('ä', 'ae')
name = name.replace('ö', 'oe')

等等。

但是,一旦您的用户来自德国以外的其他文化(可能会出现其他字符),这种方法就会失败。因此,我正在寻找一种通用方法来“转换”尽可能多的非 ascii 字符,然后再退回以简单地将它们删除。

4

0 回答 0