使用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?
答案 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);