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 这段代码可以写得比上面更好,但我想向您展示详细信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |