我有一个字符串列表,其中一些字符串自我之前的版本以来已被修改过。一些变化是微不足道的(间隔,一个字等)。我想检测只有“轻微”差异的字符串,这样我就可以尝试使用旧的翻译。
“微小差异”是什么意思?在我开始使用数据库之前,我不会知道。
你知道任何可调节的例程,它们将指示两个字符串何时相似但不相同?任何会返回一个数字的例程,表示两个字符串的不同之处?
答案 0 :(得分:8)
有很多这样的算法。关键字是模糊字符串匹配。
众所周知的是Levenshtein distance。通过它,您可以计算将一个字符串转换为另一个字符串所需的“更改”数量,以便估计字符串的相似程度。
另请参阅此问题:How to search for similar words了解Delphi中的解决方案。