有没有办法将变音符号转换为等同于ascii的?

时间:2012-08-15 20:25:19

标签: python diacritics

  

可能重复:
  What is the best way to remove accents in a python unicode string?

在某个系统中,我需要生成只允许使用plain-ascii字符(a-z,0-9,破折号)的用户名。许多用户的名字不仅仅与这些限制相匹配,例如德语名称“Müller”或“Röthlin”。

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

一种天真的方法是使用翻译表:

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

等等。

但是,只要您拥有来自德语以外的其他文化的用户,此方法就会失败,其他人物可能会出现。所以我正在寻找一种通用的方法来“转换”尽可能多的非ascii字符,然后再回过头来简单地删除它们。

0 个答案:

没有答案