如何使用JavaScript拆分此字符串?
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'; 我
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正则表达式都会失败。