-2
我尋找能解決以下問題的替代方法:紅寶石.detect替代
與.detect
,如果我找stringvalue
和給定的值是132stringvalue
,它仍然會返回true。我需要一個可以匹配從字符串開始的所有內容的替代方案。除了正則表達式以外的任何建議?
我尋找能解決以下問題的替代方法:紅寶石.detect替代
與.detect
,如果我找stringvalue
和給定的值是132stringvalue
,它仍然會返回true。我需要一個可以匹配從字符串開始的所有內容的替代方案。除了正則表達式以外的任何建議?
[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"
您可以使用String#[]
(見doc):
1.9.3p194 :001 > "123stringvalue"["stringvalue"]
=> "stringvalue"
1.9.3p194 :002 > "123stringvalue"["blah"]
=> nil
它(如果存在)返回字符串,否則nil
。
你想實現什麼不清楚,舉一些例子。顯示你的代碼。 – 2013-05-13 17:22:04
正則表達式專門用於這類事情。你爲什麼反對使用它們? – tadman 2013-05-13 17:30:15
這將改變我的代碼的一大部分。我希望有一些類似的功能,只是從字符串開始就做些事情。我想我將不得不使用正則表達式吧 – Darko 2013-05-13 17:42:12