2011-10-26 211 views
0

可能重複:
string comparison with the most similar stringC++字符串比較

我想知道什麼是最好的方式去比較兩個字符串(對於一定的比例)的相似性。 EX:第一個字符串是「我真的很喜歡吃餡餅」,第二個字符串是「我真的很喜歡吃奶酪」,其中一個函數返回「true」,因爲超過50%的字符是相似的。

我在想,我可以看到,如果在一個字符串中的每個字符是某處其他,但可能有去了解的東西更精確的方式。有什麼建議麼?

回答

1

Levenshtein distance可能是合適的。它告訴爲了將一個字符串轉換爲另一個字符串而必須進行多少個單字符插入,刪除或替換。你也可以給這三個操作分配不同的優先級。

+0

事實上,看到重複的問題,我聯繫。 –

0

對於一個比較模糊的像這樣的,你可以拆分高達每串入字(使用的strtok()),並使用stricmp比較這兩個詞數組不區分大小寫()。還有SOUNDEX算法來比較單詞,看它們是否聽起來相同。