2012-03-16 84 views
0

我需要以某種方式讀取字符串中的整數。字符串將如下所示;在字符串中讀取整數

GAME_SWITCH(476) 

而且我需要閱讀476部分。注意,它不會每次都是476,但每次都會是「GAME_SWITCH(...)」。我嘗試使用.delete方法刪除「GAME_SWITCH(」和「)」,但由於某種原因,這沒有任何效果。我只想要「476」,然後我可以將其轉換爲整數。

此外,還有一種方法來檢查字符串是否遵守這些規則?如果字符串只是「foobar」,它會返回false?

我正在使用Ruby 1.8.1

非常感謝!

回答

0

您可以用例如正則表達式解決的問題:

if m = str.match(/^GAME_SWITCH\((\d+)\)$/) 
    m[1].to_i 
else 
    false 
end 
+0

嘿,這工作!爲了正確地轉換爲整數,我不得不使用另一個變量,如 int = str [1] .to_i 謝謝! – HarryE 2012-03-16 20:01:12

0

嘗試是這樣的

my_string.scan(/\d+/)[0].to_i