假设我有一个字符串数组
arr = ['sandra', 'sam', 'sabrina', 'scott', 'mark', 'melvin']
我应该如何搜索这个数组,就像在Rails中搜索一个Active Record对象一样。例如,查询“sa”将返回['sandra','sam','sabrina']
。
谢谢!
假设我有一个字符串数组
arr = ['sandra', 'sam', 'sabrina', 'scott', 'mark', 'melvin']
我应该如何搜索这个数组,就像在Rails中搜索一个Active Record对象一样。例如,查询“sa”将返回['sandra','sam','sabrina']
。
谢谢!
arr.grep(/^sa/)
sabrina
,那么使用正则表达式或grep会比循环每个名称更有效率? - kamal>> arr.select {|s| s.include? 'sa'}
=> ["sandra", "sam", "sabrina"]
可以结合使用select
方法和正则表达式来实现
arr.select {|a| a.match(/^sa/)}
这个代码寻找前缀,但可以更改为子字符串或其他任何内容。
a.select{|x|x[/^sa/]}