2012-03-16 5 views
0

문자열 내에서 정수를 읽어야합니다. 문자열은 다음과 같습니다.문자열 내 정수 읽기

GAME_SWITCH(476) 

그리고 476 부분을 읽어야합니다. 참고로, 매번 476 회는 아니지만 매번 "GAME_SWITCH (...)"가됩니다. 나는 "GAME_SWITCH ("and ")"을 삭제하기 위해 .delete 메소드를 사용했지만 어떤 이유로 든 효과가 없다. 난 그냥 정수로 변환 할 수있는 "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

0

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