我有一个array_subscribed_players,我正在检查这个数组是否包含这样的字符串:
array_subscribed_players.include?(subscription.user.full_name_inversed.downcase.strip)
我正在寻找一种方法使这个表达式返回true
,即使我提供的字符串与array_subscribed_players
中包含的字符串不完全匹配。假设有一两个不同的字母,或者是否有一个或多或少的字母。
答案 0 :(得分:0)
对于使用三元组等方法进行模糊搜索的宝石,您可能会做得最好,然后尝试一下您认为足够高的分数作为匹配。
可以使用各种宝石:寻找三元组,模糊匹配等。
答案 1 :(得分:0)
你想要的是模糊匹配算法。您可以开始使用solution suggested in this answer或其中一种模糊匹配的Ruby实现。
一旦你有了算法(打包为方法),只需在数组的每个项目上调用该方法,而不是使用标准字符串相等。
答案 2 :(得分:0)
您可以使用宝石类似的文字。与两个字符串相比,它提供了类似的百分比。你必须为你正在寻找的%相似性构建逻辑。