加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby搜索关键字数组

发布时间:2020-12-17 03:21:52 所属栏目:百科 来源:网络整理
导读:我正在解析 ruby脚本中的大型CSV文件,需要从某些搜索键中找到最接近的标题匹配项.搜索键可能是一个或多个值,值可能不完全匹配,如下所示(应该关闭) search_keys = ["big","bear"] 包含我需要搜索的数据的大型数组,只想搜索标题列: array = [ ["id","title","
我正在解析 ruby脚本中的大型CSV文件,需要从某些搜索键中找到最接近的标题匹配项.搜索键可能是一个或多个值,值可能不完全匹配,如下所示(应该关闭)

search_keys = ["big","bear"]

包含我需要搜索的数据的大型数组,只想搜索标题列:

array = [
          ["id","title","code","description"],["1","once upon a time","3241","a classic story"],["2","a big bad wolf","4235","a little scary"],["3","three big bears","2626","a heart warmer"]
        ]

在这种情况下,我希望它返回行[“3”,“三只大熊”,“2626”,“心脏温暖”],因为这是与我的搜索键最接近的匹配.

我希望它从给定的搜索键返回最接近的匹配.

我可以使用任何助手/图书馆/宝石吗?有没有人这样做过?

解决方法

我想你可以自己做,不需要使用任何宝石!
这可能接近你所需要的;在数组中搜索键并为每个找到的元素设置排名.

result = []
array.each do |ar|
    rank = 0
    search_keys.each do |key|
        if ar[1].include?(key)
            rank += 1
        end
    end

    if rank > 0
        result << [rank,ar]
    end 
end

这段代码可以写得比上面更好,但我想向您展示详细信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读