我想检查包含一个或多个匹配字符串的字符串数组。红宝石字符串 - 检查一组字符串匹配
目前我正在通过使用if语句来做到这一点 - 不好,但它的工作原理 - 但现在我正在寻找更类似Ruby的方式来做到这一点。
row[:datapoints].each do |data|
if data[:direction].include? "Beusselstr"
data[:image] = "category-1"
end
if data[:direction].include? "Ostkreuz"
data[:image] = "category-1"
end
if data[:direction].include? "Westend"
data[:image] = "category-2"
end
if data[:direction].include? "1)S Gr"
data[:image] = "category-3"
end
end
取而代之,我想将匹配的字符串存储在数组中。为了让它更复杂一点,我实际上有不同类别的匹配项与他们自己的结果操作(请参阅数据[:image]值的类别特定分配)。
category_1_keywords = ["Beusselstr","Ostkreuz"]
category_2_keywords = ["nefeld Bhf","Greifswalder","Westend"]
category_3_keywords = ["1)S Gr"]
imagecategories = {:category_1 => category_1_keywords,:category_2 => category_2_keywords,:category_3 => category_3_keywords}
如何将过滤该阵列:使用这样的匹配阵列(imagecategories)看起来像(行[数据点])?
最后一部分不清晰,比如'category_1_keywords','category_2_keywords'等。 –
基本上我想使用包含具有类别特定关键字/匹配项(类别_..._关键字)的数组的数组(imagecategories)。我是Ruby的初学者。也许有更好的方法来构建包含术语和类别的搜索对象结构。 – Bernd
你最终的目标是什么,举一些例子。 –