如何在javascript中从字符串中获取数字?

Meh*_*han 1 html javascript regex jsp extjs

我在javascript中有以下字符串:

var xyz= "M429,100L504.5,100L504.5,106L580,106L570,98M580,106L570,114";
Run Code Online (Sandbox Code Playgroud)

我想获取数字并将其存储在数组中.

我试过以下代码:

var x=xyz.match(/\d+/g);
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

0: "429"
1: "100"
2: "504"
3: "5"
4: "100"
5: "504"
6: "5"
7: "106"
8: "580"
9: "106"
10: "570"
11: "98"
12: "580"
13: "106"
14: "570"
15: "114"
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,浮点值(例如504.5)已单独出现.

我怎样才能正确获取?

小智 5

你可以简单地将你的正则表达式改为这个:

var x=xyz.match(/[0-9.]+/g);
Run Code Online (Sandbox Code Playgroud)

它还允许您捕获数字和浮点数.

=> http://www.regexr.com/3b46a