假設兩組字符串:匹配不同的字符串
[ "Mr. Jones", "O'Flaherty", "Bob", "Rob Jenkins" ]
[ "Maxwell O'Flaherty", "Robert Jenkins", "Mrs. Smith" ]
顯而易見的是,這兩套有麥克斯韋奧弗萊厄蒂和羅伯特·詹金斯共同點。
有什麼算法可以讓我們以編程方式進行這樣的匹配嗎?我正在考慮編寫將通過字符串數組中的每個元素的內容,並嘗試查找任何唯一且不包含在任何其他元素中的任何子字符串,然後將其用作每種元素的一種散列以匹配這兩套。
您應該知道,應該將哪些名稱視爲相同。由於我對英文名字不熟悉,對於我來說這並不明顯,「這兩套有麥克斯韋奧弗萊厄蒂和羅伯特詹金斯的共同之處。」對於C#編譯器來說並不明顯。至於你,「薩沙伊凡諾夫」和「亞歷山大彼得羅維奇伊萬諾夫」是不一樣的,但不同於「阿列克謝伊凡諾夫」。 – Vovanium 2010-11-13 20:27:28
我同意,一臺電腦與Sasha和Alexandr匹配的機會與匹配Richard和Dick的機會一樣少。問題不是姓氏,而是簡單地匹配類似的字符串。 – devprog 2010-11-14 10:15:00
可能是以下副本: [http://stackoverflow.com/questions/83777/are-there-any-fuzzy-search-or-string-similarity-functions-libraries-written-for-c](http:/ /stackoverflow.com/questions/83777/are-there-any-fuzzy-search-or-string-similarity-functions-libraries-written-for-c) – 2010-11-13 14:18:33