【问题标题】:How to match English word with its equivalent Accented characters in Python [duplicate]如何在Python中将英文单词与其等效的重音字符匹配[重复]
【发布时间】:2015-10-09 11:48:10
【问题描述】:

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

所以我的工作是验证详细信息是否包含给定的关键字。我在比较重音字符时没有问题。例如:“société”=“société”。但案例“société”==“societe”失败了。 Python代码如下:

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

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

我们将不胜感激任何帮助。谢谢

【问题讨论】:

  • 我认为没有一种简单的方法可以直接比较它们,我会考虑在搜索之前删除重音符号。 stackoverflow.com/questions/517923/…
  • 哥德尔应该映射到哥德尔还是哥德尔?后者是标准的,但前者是你只需去掉重音就能得到的。看来您需要一本等效字典。

标签: python non-ascii-characters non-english


【解决方案1】:

你可以使用unidecode:

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

【讨论】:

  • 是的..这对我有用..非常感谢...
  • @GuruswamyBM:如果您的问题得到解决,请接受答案。
猜你喜欢
  • 1970-01-01
  • 2011-01-09
  • 2010-11-28
  • 2012-10-27
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多