0

我有一个字符串,想要两个整数保存在一个数组中

用这个:

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

获得第一个替换并选择第二个

但是如果字符串有一个数字,这不能正常工作,数组中最好的存储是在之后计数

有什么方法可以让这更容易吗?

示例字符串:

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 回答