我試圖用盡可能少的代碼來解決Ruby問題:)。我想檢查給定的字符串是否以不同數量的符號開始,可以說一到三個'a'。這很容易使用reg exp,我可以寫string.match(\^a {1,3}。* \)。但是,我必須根據a的確切數量對字符串進行更改。我怎樣才能檢測到它們,而不使用三個IF的那樣:在字符串的開頭找到給定符號的確切數字
do_string_manipulation1 if string.match(/^a.*/)
do_string_manupulation2 if string.match(/^aa.*/)
...
感謝提前:)
非常感謝。我不知道'匹配'返回什麼 – mjekov
MatchData對象,如下所述:http://rubydoc.info/stdlib/core/1.9.3/MatchData –
或者,您可以使用=〜運算符,然後訪問全局變量$ 1(在這種情況下,通常它是$ 1 .. $ n)。這樣做的好處是速度更快,因爲它不必創建MatchData對象。 –