从文本字符串中查找关键字列表并查找不匹配的匹配项

时间:2011-11-10 21:45:52

标签: python django

我有一个我想在文本字符串中找到的关键字列表。完全匹配工作正常,但是任何人都知道库可以帮助进行近似匹配,例如,如果我提供的单词列表是 ["hello", "bye"] 我希望看一下文本字符串是否有hlelo到某种程度的“亲密度” 有什么建议吗?

1 个答案:

答案 0 :(得分:3)

这就是我要做的。首先,定义要搜索的字符串并删除无关的字符:

>>> tosearch = "This is a text string where I typed hlelo but I meant to type hello."
>>> import string
>>> exclude = set(string.punctuation)
>>> tosearch = ''.join(ch for ch in tosearch if ch not in exclude)
>>> tosearch
'This is a text string where I typed hlelo but I meant to type hello'
>>> words = set(tosearch.split(" "))

接下来,您可以使用difflib库查找与给定字词的近似匹配:

>>> import difflib
>>> difflib.get_close_matches('hello', words)
['hello', 'hlelo']