沒有人知道是否存在給定一個字符串A和一個字符串B數組的算法,比較A字符串與B中所有字符串給出的輸出中最相似的一個。字符串與最相似字符串的比較
對於「最相似的一個」我的意思是,例如,
如果字符串是:「世界你好你怎麼樣」
然後
「ASDF asdewr世界你好如何asfrqr你」
比更相似:
「h2ll4 w1111 H11 111 111」
沒有人知道是否存在給定一個字符串A和一個字符串B數組的算法,比較A字符串與B中所有字符串給出的輸出中最相似的一個。字符串與最相似字符串的比較
對於「最相似的一個」我的意思是,例如,
如果字符串是:「世界你好你怎麼樣」
然後
「ASDF asdewr世界你好如何asfrqr你」
比更相似:
「h2ll4 w1111 H11 111 111」
通常的測量是Levenshtein distance。計算從原始到每個候選人的Levenshtein距離,並將最小距離作爲最可能的候選人。
這裏有一個方便的丹迪連接到Levenshtein距離的信息。 http://en.wikipedia.org/wiki/Levenshtein_distance – 2011-05-02 19:49:57
+1鏈接從http://en.wikipedia.org/wiki/Levenshtein_distance – 2011-05-02 19:50:22
謝謝你們,你們真的很有用 – malilzap 2011-05-02 20:08:34
定義相似性。算法,可以做到這一點包括:
所有這一切都可以通過實施可行性的在C或C++中。谷歌「字符串相似性」,「重複查找」或「記錄鏈接」用於可用的度量和算法。
我覺得在開始選擇算法之前,最好以適當的方式定義相似度,你是對的。乾杯! – malilzap 2011-05-02 20:07:24
既然你似乎滿意答案,你現在可以接受其中之一。 – schnaader 2011-05-04 10:13:11