2015-09-16 29 views
0

我已經得到了一個array_subscribed_players,我檢查,如果該數組包含字符串是這樣的:使兩個字符串匹配即使其中一個包含錯字

array_subscribed_players.include?(subscription.user.full_name_inversed.downcase.strip) 

我正在尋找一種方法,使這個表達式返回true即使我給出的字符串與array_subscribed_players中包含的字符串不完全匹配。比方說,如果有一個或兩個不同的字母,或者如果它有一個額外的或更少的字母。

+1

Bob Jones&Rob Bones match?只有兩個字母不同,但顯然不是拼寫錯誤。正則表達式不可能使用NLP,但如果兩個字母不同,你可以進行粗略匹配,但是你會得到一些非常不準確的結果 – Yule

回答

0

你可能會做最好的,做模糊搜索,用這樣的方法如卦,然後用你認爲什麼是足夠高的分數計算爲一次匹配實驗的瑰寶。

各種寶石可供選擇:尋找卦,模糊匹配等

0

你想要的是一個模糊匹配算法。您可以開始使用solution suggested in this answer或各種模糊匹配Ruby實現之一。

一旦有了到位(打包爲方法)的算法,只需調用在陣列的每個項目的是方法,而不是使用標準字符串相等。

相關問題