-2

我正在寻找可以解决以下问题的替代方案:

.detect如果我正在寻找并且stringvalue给定的值为132stringvalue,它仍然会返回 true。我需要一个从字符串开头匹配所有内容的替代方法。除了正则表达式还有什么建议吗?

4

2 回答 2

3
[1] pry(main)> %w[foo 456foo bar 123bar].detect {|e| e.to_i > 0}
=> "456foo"
[2] pry(main)> %w[foo 456foo bar 123bar].detect {|e| e.start_with?('123')}                   
=> "123bar"
于 2013-05-13T17:26:41.997 回答
0

您可以使用String#[](参见文档):

1.9.3p194 :001 > "123stringvalue"["stringvalue"]
 => "stringvalue" 
1.9.3p194 :002 > "123stringvalue"["blah"]
 => nil 

如果存在则返回子字符串,nil否则返回。

于 2013-05-13T17:26:47.960 回答