我想知道比较两个字符串(对于某个百分比)相似性的最佳方法是什么。 EX:字符串1是“我真的喜欢吃馅饼”,而字符串2是“我真的喜欢吃奶酪”,函数返回“true”,因为超过50%的字符是相似的。
我在想,我可以看到一个字符串中的每个字符是否在另一个字符串中的某个位置,但是可能有更精确的方法可以解决问题。有什么建议吗?
答案 0 :(得分:1)
Levenshtein distance可能合适。它告诉我们必须进行多少单字符插入,删除或替换才能将一个字符串转换为另一个字符串。您还可以为这三个操作提供不同的优先级。
答案 1 :(得分:0)
对于像这样的模糊比较,您可以将每个字符串拆分为单词(使用strtok()),并使用stricmp()比较两个不区分大小写的单词数组。还有SOUNDEX算法来比较单词,看它们听起来是否相同。