2013-03-20 26 views
0

我有一個字符串,並希望得到兩個整數在使用這樣的數組選擇使用正則表達式和Ruby

保存在一根繩子上的兩個整數:

x= /[0-9]+/.match(dimensions) 
dimensions[ /[0-9]+[ ]+/ ] = "" 
y= dimensions 

得到的第一個替換和挑第二

但不要工作得很好,如果字符串有一個數,在排列店後最好

是算有沒有什麼辦法可以使這個更容易?

例字符串:

5 9 

5 

sadasd 5 9 assasdadsaas 
+0

對不起,你究竟想要做什麼? – 2013-03-20 19:07:39

回答

1

也許使用正則表達式捕獲會更好地工作?

>> dimensions = "asdf 11 22" 
=> "asdf 11 22" 
>> m = dimensions.match(/([0-9]+)[ ]*([0-9]*)/) 
=> #<MatchData "11 22" 1:"11" 2:"22"> 
>> m.captures 
=> ["11", "22"] 
>> 
?> dimensions = "asdf 11" 
=> "asdf 11" 
>> m = dimensions.match(/([0-9]+)[ ]*([0-9]*)/) 
=> #<MatchData "11" 1:"11" 2:""> 
>> m.captures 
=> ["11", ""] 
+0

捕捉不錯,已使用尺寸[0]尺寸[1],失敗 – 2013-03-20 19:26:51