2012-03-16 70 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