2012-05-01 40 views
11

我有一個字符串列表,其中一些字符串自我的上一版本以來已被修改。其中的一些變化是微不足道的(間隔,關閉一個單詞等)。我想檢測只有「小」差異的字符串,以便儘可能嘗試使用較早的翻譯。需要一個例程來檢測類似但不相同的字符串

「微小差異」是什麼意思?直到我開始使用數據庫時,我纔會知道。

您是否知道任何可調整的例程,它們會指示兩個字符串是否相似但不相同?任何會返回一個數字表示兩個字符串有多不同的例程?

+2

你將需要一種方法來評價類似的字符串。有一百萬種方法可以做到這一點。這裏是一個線程,請參閱各種答案:http://stackoverflow.com/questions/4323977/string-similarity-score-hash –

+0

它肯定會很酷,如果你發現了一些新的不在上面或下面的鏈接。請回來告訴我們你做了什麼。 –

回答

8

有很多這樣的算法。關鍵詞是模糊字符串匹配

衆所周知的是Levenshtein distance。通過它,您可以計算將一個字符串轉換爲另一個字符串所需的「更改」數量,以便爲您估計字符串的相似程度。

另請參閱此問題:How to search for similar words在Delphi中的解決方案。

+0

謝謝!完善! –

+6

另請參閱[如何實現-levenshtein-distance-in-delphi](http://stackoverflow.com/q/54797/576719)。 –

相關問題