RoR - 查找字符串的一部分是否与哈希数组匹配

时间:2017-12-31 02:20:22

标签: ruby-on-rails ruby

我知道有很多类似的问题,但我很难找到具体的答案。

我有一个带有Symbol键和价值的哈希数组,我希望过滤数组只包含一个以字母ETL结尾的符号的哈希

数据如下:

[ [
            {
                "symbol": "ABCDEF",
                "price": "4"
            },
            {
                "symbol": "GHIETL",
                "price": "5"
            }
        ]

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

array.select { |hash| hash[:symbol].end_with? "ETL" }

来自Ruby docs for select

  

返回一个数组,其中包含给定块返回true值的枚举的所有元素。

如果您需要按多个后缀进行过滤,还可以为end_with?提供多个后缀。例如:

array.select { |hash| hash[:symbol].end_with? "ETL", "DEF" }