是否有一种方法可以与“each”一起使用,以根据正则表达式匹配来过滤数组元素?
我有以下数组:
arr = ["one", "has_two", "has_tree", "four"]
我想循环到这个数组中,并且只采用以“has”开头的元素。
以下代码正在为所有元素执行循环
arr.each |element| do
....
end
答案 0 :(得分:4)
您可以使用Enumerable's grep
method执行此操作:
arr.grep(/^has/).each do |element|
...
end
答案 1 :(得分:2)
你可以select
你感兴趣的元素,然后循环遍历那些:
arr.select { |e| e[/^has/] }.each do |element|
end
答案 2 :(得分:0)
我会说:
arr.find_all{|el| el =~ /^has/}.each do...