gpt4 book ai didi

python - 比较python中的字符串以查找错误

转载 作者:行者123 更新时间:2023-11-28 20:10:26 26 4
gpt4 key购买 nike

我有一个字符串,它是一个单词的正确拼写:

FOO

我会允许某些人以这种方式打错这个词:

FO, F00, F0O ,FO0

有没有好的方法来检查这个?小写也应该被视为正确,或转换为大写。最漂亮的东西。

最佳答案

一种方法是计算 edit distance琴弦之间。例如,您可以使用 Levenshtein distance ,或者发明你自己的距离函数,例如认为 0 和 O 比 0 和 P 更接近。

另一种是将每个单词转换为规范形式,并比较规范形式。例如,您可以将字符串转换为大写,将所有 0 替换为 Os,将 1 替换为 Is 等,然后删除重复的字母。

>>> import itertools
>>> def canonical_form(s):
s = s.upper()
s = s.replace('0', 'O')
s = s.replace('1', 'I')
s = ''.join(k for k, g in itertools.groupby(s))
return s
>>> canonical_form('FO')
'FO'
>>> canonical_form('F00')
'FO'
>>> canonical_form('F0O')
'FO'

关于python - 比较python中的字符串以查找错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com