如何在C ++中检查STRING SIMILARITY?

时间:2014-06-23 19:58:09

标签: c++ string string-matching

说我有2个字符串:

string1 =“abcdef”

string2 =“12abcdef21”

我正在寻找一段代码来分析这两个字符串,并给出它们有多相似的百分比(使用字符数)。类似的部分是“abcdef”,因此是匹配而不是单个字符的字符串的连续部分。

提前致谢。

编辑:

我真正想要做的是找到重复的文件。 我有两个大小相同的文件,我想检查它们是否也有相似的名称。 有什么想法可以做到吗?

1 个答案:

答案 0 :(得分:3)

您可以采用多种不同的方法,以及一些已建立的算法。

为了比较单词的拼音方式,你可以尝试使用Soundex algoright(Phonetic String Comparison with Soundex)的变体。

要根据字符的相似程度对单词进行评分,您可以查看(Approximate String Comparisons Using Levenshtein Distance)。

注意:这两篇文章都包含C#代码,但这种方法在C ++中是相同的。