0

文字列があり、配列に保存する2つの整数を取得したい

これを使用しました:

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

最初の交換を取得し、2番目を選択します

しかし、文字列に1つの数値がある場合、これは正常に機能しません。配列に格納されている最良のものは、後のカウントです。

これを簡単にする方法はありますか?

文字列の例:

5 9

5

sadasd 5 9  assasdadsaas
4

1 に答える 1

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", ""]
于 2013-03-20T19:12:46.593 に答える