我正在从API中获取一些数据,响应中包括经度和纬度的用户位置。
这是根据用户的坐标在地图上渲染图标
那是JSON对象:
{
...
"lonlat": "POINT (-42.796763 -5.077056)",
}
我希望能够解析此POINT
对象并获得纬度和经度的值。
答案 0 :(得分:3)
您可以替换除space, digits and - and decimal
和trim leading and trailing whitespace
然后split on space
以外的所有值
[^\d .-]
digit, space, . and -
以外的任何内容
const data = {
"lonlat": "POINT (-42.796763 -5.077056)"
};
let [lat,lng] = data.lonlat.replace(/[^\d .-]/g,'').trim().split(/\s+/)
console.log(lat);
console.log(lng);
答案 1 :(得分:2)
您可以使用正则表达式来获取值,前提是它们始终由空格分隔。
SKScenes
答案 2 :(得分:1)
您可以尝试首先在括号之间获取字符,如下所示:
var obj = {
"lonlat": "POINT (-42.796763 -5.077056)",
}
var regExp = /\((.*?)\)/;
var lonlat = obj.lonlat.match(regExp)[1].split(' ');
console.log(lonlat);