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

如何使用JavaScript拆分此字符串?,javascript,regex,string,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'; 我

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,'')或正则表达式?

使用

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

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

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

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

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


编辑修复了以下评论中指出的问题

以下是另一种方法:

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

str = str.replace('(', '[').replace(')', ']')
然后,您可以使用
JSON.parse
(也可用作)创建包含这些坐标的数组,这些坐标已被解析为数字:

var coordinates = JSON.parse(str);

如果这种格式不改变,正则表达式肯定是一种过度使用。问题是什么?你所拥有的一切,谢谢!显然看起来更干净:对于任何小于10且大于-10的整数,DYour正则表达式都会失败。