如何在Python中匹配英语单词及其等效的Accented字符

How to match English word with its equivalent Accented characters in Python

本问题已经有最佳答案,请猛点这里访问。

我正在尝试自动化一个应用程序,它就像谷歌引擎一样。当用户输入"soci_t_"(重音字符)时,它会给出包含"soci_t_"(重音字符)或"societe"(英语)的详细信息。

所以我的工作就是验证细节是否包含给定的关键字。在比较重音字符时我没有问题。例如:"Soci_t_"="Soci_t_"。但案例"soci_t_"=="societe"失败。下面是python代码:

1
2
3
4
5
 >>>"société".find("societe")
 -1 #Fail
 >>>"société".find("société")
 0  #Success
 >>>

那么如何匹配重音字符中的等效英文单词。

任何帮助都将得到高度重视。谢谢


您可以使用unidecode:

1
2
3
>>> from unidecode import unidecode
>>> unidecode(u"société")
societe