从具有给定子串值的数组中选择

时间:2016-11-28 10:50:53

标签: arrays ruby regex

我有一个看起来像这样的数组:

arr = ["value1", "value2 spot", "value3", "value4", "value5 spot", "value6"]

我想选择并返回一个包含spot子字符串的所有值的数组。

arr.select{|v| v == regex_here}

我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

您可以使用grep方法

 arr.grep(/spot/)
  => ["value2 spot", "value5 spot"] 

您提出的其他要求

arr.group_by { |item| item.match(/spot/) != nil }
 => {false=>["value1", "value3", "value4", "value6"], true=>["value2 spot", "value5 spot"]} 

答案 1 :(得分:0)

您可以使用

arr.select{ |i| i[/spot/] }
 => ["value2 spot", "value5 spot"]