如何在Ruby中搜索数组?

时间:2010-10-14 20:49:32

标签: ruby-on-rails ruby arrays

说我有一个字符串数组

arr = ['sandra', 'sam', 'sabrina', 'scott', 'mark', 'melvin']

我将如何像在Rails中的活动记录对象一样搜索此数组。例如,查询“sa”将返回['sandra', 'sam', 'sabrina']

谢谢!

4 个答案:

答案 0 :(得分:61)

arr.grep(/^sa/)

答案 1 :(得分:25)

>> arr.select {|s| s.include? 'sa'}
=> ["sandra", "sam", "sabrina"]

答案 2 :(得分:9)

select方法和正则表达式的组合可以使用

arr.select {|a| a.match(/^sa/)}

这个可以查找前缀,但可以将其更改为子字符串或其他任何内容。

答案 3 :(得分:2)

a.select{|x|x[/^sa/]}