如何在Ruby中搜索数组?

Tim*_*Tim 42 ruby arrays ruby-on-rails

说我有一个字符串数组

arr = ['sandra', 'sam', 'sabrina', 'scott', 'mark', 'melvin']
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Jör*_*tag 62

arr.grep(/^sa/)
Run Code Online (Sandbox Code Playgroud)

  • 呃...如果那是一个内存中的数组,那么上面的内容并没有使_any_ sql命中. (16认同)

Nic*_*ore 26

>> arr.select {|s| s.include? 'sa'}
=> ["sandra", "sam", "sabrina"]
Run Code Online (Sandbox Code Playgroud)


Nik*_*bak 11

select方法和正则表达式的组合将起作用

arr.select {|a| a.match(/^sa/)}
Run Code Online (Sandbox Code Playgroud)

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