[英]How can i extract lat and long values from string?
例如,
'POINT (-109.42948819496439 44.5177967942721)'
如何从前面的字符串中提取lat和long值?
我试过了:
coords.substring(7,14) + ' ' + coords.substring(15,22)
但我认为我不能依赖它
// Robust matching of two space-separated floats within parentheses: let point = 'POINT (-109.42948819496439 44.5177967942721)'; let [, lat, long] = point.match(/\\(([+-]?[0-9.]+) ([+-]?[0-9.]+)\\)/); console.log(lat, long);
注意: RegExp仅与提供的测试用例保证一样健壮。 如果pattern不匹配,则抛出TypeError
。
如果格式始终相同,则可以使用substring()
执行此操作:
var x = 'POINT (-109.42948819496439 44.5177967942721)'; var lat = x.substring(x.indexOf('(') + 1, x.lastIndexOf(' ')); var lon = x.substring(x.lastIndexOf(' ') + 1, x.indexOf(')')); console.log(lat); console.log(lon);
但是在字符串中操作模式的最佳选择是正则表达式 。
var input = 'POINT (-109.42948819496439 44.5177967942721)';
var res = input.replace("POINT ", "");
var res1 = res.replace(")", "");
var res2 = res1.replace("(", "");
var fields = res2.split(' ');
var lat = fields[0];
var long = fields[1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.