从字符串中获取所有整数和十进制数

时间:2014-05-05 20:45:04

标签: arrays regex string decimal rounding

所以我有一个通过函数创建的字符串,然后另一个函数获取该字符串并仅从中获取数字。字符串总是这样(只有数字改变):

"rgba(123,213,321,0.23)"

所以我想从这个字符串中得到一个数组:

strArray[0] == 123
strArray[1] == 213
strArray[2] == 321
strArray[3] == 0.23

我想在一个数组中得到圆形和十进制数。我正在使用这个:

strArray = str.match(/(\d+)/g);

但它不能完成这项工作,因为十进制数是四舍五入的。这意味着当我拥有与上面相同的字符串时,我得到:

strArray[0] == 123
strArray[1] == 213
strArray[2] == 321
strArray[3] == 0

我还必须指出,我对正则表达式并不熟悉(实际上根本没有经验)。我从某个地方得到了这行代码。如果您在答案中解释正则表达式部分(如果有的话),我将非常感激。

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

strArray = str.match(/(\d+(?:\.\d+)?)/g);
//=> ["123", "213", "321", "0.23"]