如何使用JavaScript拆分此字符串?

时间:2011-05-20 21:38:12

标签: javascript regex string

使用Javascript:

var string = '(37.961523, -79.40918)';

//remove brackets: replace or regex? + remove whitespaces

array = string.split(',');

var split_1 = array[0];

var split_2 = array[1];

输出:

var split_1 = '37.961523';

var split_2 = '-79.40918';

我应该只使用string.replace('(', '').replace(')', '').replace(/\s/g, '');还是RegEx?

4 个答案:

答案 0 :(得分:8)

使用

string.slice(1, -1).split(", ");

答案 1 :(得分:1)

您可以使用正则表达式一次提取两个数字。

var string = '(37.961523, -79.40918)';
var matches = string.match(/-?\d*\.\d*/g);

答案 2 :(得分:1)

您可能希望在以下情况下使用正则表达式:

str.match(/-?\d+(\.\d+)?/g); // [ '37.961523', '-79.40918' ]

编辑已修复以解决下面评论中指出的问题

答案 3 :(得分:0)

这是另一种方法:

如果()[],您将拥有有效的JSON。因此,您可以做的是更改生成坐标的代码以生成[]而不是(),或者将其替换为:

str = str.replace('(', '[').replace(')', ']')

然后你可以使用JSON.parse(也可用作external library)创建一个包含这些坐标的数组,已经解析为数字:

var coordinates = JSON.parse(str);