我有一个从 google map api 返回的字符串。它是关于经纬度的,这就是它的样子(25.229355, 55.302734)
我想删除(
,)
和 thespace
以便使用这两个数字。
例如,我希望将这两个数字放在一个数组中,或者提醒它们中的每一个。
我有一个从 google map api 返回的字符串。它是关于经纬度的,这就是它的样子(25.229355, 55.302734)
我想删除(
,)
和 thespace
以便使用这两个数字。
例如,我希望将这两个数字放在一个数组中,或者提醒它们中的每一个。
用正则表达式解析。这是最简单的情况:
var input = "(25.229355, 55.302734)";
var arr = input.match(/[0-9\.]+/g); alert(arr);
var lat = arr[0];
var long = arr[1];
str = "(25.229355, 55.302734)";
str =str.replace("(","");
str =str.replace(")","");
str =str.replace(",","");
var n=str.split(" ");
console.log(n);
好吧,通常如果您尝试从字符串中提取内容,您需要弄清楚:
在您的情况下,您不想要的是括号和空格。在 JS 中,您可以调用一个名为 replace(substr,replacement) 的函数,它会完全按照它的意思执行。
假设您的配对字符串称为 latLong。删除不需要的内容后:
latLong.replace(/[()\s]/g, "");
然后您可以使用 split() 方法根据它们之间的分隔符(逗号)拆分字符串
var latLongArray = latLong.split(",");
split() 方法将一个字符串分成一个子字符串数组,由您传递的参数分隔。所以最后,你的 latLongArray 将是一个包含 2 个元素(纬度和经度)的数组!
试试看
var x= '(25.229355, 55.302734)'.replace(/[^A-Za-z\s]+/g, '');
// x is : `25.229355 55.302734`
var n=x.split(" ");
alert("Long is" + n[0] + " lat is "+ n[1] )
你一直说它是一个对象,在这种情况下解析字符串是没有意义的。如果您确实需要字符串输出,只需直接从对象中获取数字并将其连接起来。
obj[0]+","+obj[1]
怎么样...
var coordinatesString, coordinates, longitude, latitude;
coordinatesString = '(25.229355, 55.302734)';
coordinates = coordinatesString.substring(1, coordinatesString.length - 1).split(', ');
longitude = coordinates[0];
latitude = coordinates[1];