web-dev-qa-db-ja.com

Rubyで配列を検索する方法は?

文字列の配列があるとします

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

Railsのアクティブなレコードオブジェクトと同じように、この配列をどのように検索しますか。たとえば、クエリ「sa」は['sandra', 'sam', 'sabrina']を返します。

ありがとう!

42
Tim
arr.grep(/^sa/)
61
Jörg W Mittag
>> arr.select {|s| s.include? 'sa'}
=> ["sandra", "sam", "sabrina"]
26
Nick Moore

selectメソッドと正規表現の組み合わせが機能します

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

これはプレフィックスを探しますが、部分文字列などに変更できます。

10
Nikita Rybak
a.select{|x|x[/^sa/]}
2
ghostdog74