所以我有一个通过函数创建的字符串,然后另一个函数获取该字符串并仅从中获取数字。字符串总是这样(只有数字改变):
"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
我还必须指出,我对正则表达式并不熟悉(实际上根本没有经验)。我从某个地方得到了这行代码。如果您在答案中解释正则表达式部分(如果有的话),我将非常感激。
答案 0 :(得分:1)
您可以使用此正则表达式:
strArray = str.match(/(\d+(?:\.\d+)?)/g);
//=> ["123", "213", "321", "0.23"]