[英]In JavaScript, How to extract latitude and longitude from string
我從數據庫中提取一個字符串,需要分別解析為緯度和經度,字符串定義為“點”,格式如下:
(2.340000000,-4.50000000)
我試圖刪除括號,然后用方法split()
解析它們但我還沒有能夠提出正確的表達式來完成工作:
到目前為止,我已經嘗試了很多替代品,並且
var latlong = "(2.34000000, -4.500000000)"
latlong.replace('/[\(\)]//g','');
var coords = latlong.split(',');
var lat = coords[0];
var long = coords[1];
如果我跑了,我得到的只是: NaN, -4.500000
我究竟做錯了什么? 謝謝!
似乎工作 ,但你有一個額外的斜線
var value = '(2.340000000,-4.50000000)';
//you had an extra slash here
// ''''''''''''''''v
value = value.replace(/[\(\)]/g,'').split(',');
console.log(value[0]);
console.log(value[1]);
您可以剪切分割,只使用匹配函數與正則表達式\\((\\-?\\d+\\.\\d+), (\\-?\\d+\\.\\d+)\\)
,它將返回兩個坐標。 Firebug控制台輸出:
>>> "(2.34000000, -4.500000000)".match(/\((\-?\d+\.\d+), (\-?\d+\.\d+)\)/);
["(2.34000000, -4.500000000)", "2.34000000", "-4.500000000"]
您可以嘗試使用math
函數:
var latlong = "(2.34000000, -4.500000000)"
var coords = latlong.match(/\((-?[0-9\.]+), (-?[0-9\.]+)\)/);
var lat = coords[1];
var long = coords[2];
alert('lat: ' + lat);
alert('long: ' + long);
var latlong = "(2.34000000, -4.500000000)"
var coords = latlong.replace(/[\(\) ]/g,'').split(',');
console.log(coords[0])
console.log(coords[1])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.