-1

我有一个从 google map api 返回的字符串。它是关于经纬度的,这就是它的样子(25.229355, 55.302734)

我想删除(,)和 thespace以便使用这两个数字。

例如,我希望将这两个数字放在一个数组中,或者提醒它们中的每一个。

4

6 回答 6

2

用正则表达式解析。这是最简单的情况:

var input = "(25.229355, 55.302734)";

var arr = input.match(/[0-9\.]+/g); alert(arr);

var lat = arr[0];
var long = arr[1];
于 2013-08-14T13:56:25.193 回答
2
str = "(25.229355, 55.302734)";


str =str.replace("(",""); 
str =str.replace(")",""); 
str =str.replace(",",""); 

var n=str.split(" "); 

console.log(n);
于 2013-08-14T13:57:01.140 回答
2

好吧,通常如果您尝试从字符串中提取内容,您需要弄清楚:

  1. 你不想要的字符串
  2. 你如何区分你想要的东西

在您的情况下,您不想要的是括号和空格。在 JS 中,您可以调用一个名为 replace(substr,replacement) 的函数,它会完全按照它的意思执行。

假设您的配对字符串称为 latLong。删除不需要的内容后:

latLong.replace(/[()\s]/g, "");

然后您可以使用 split() 方法根据它们之间的分隔符(逗号)拆分字符串

var latLongArray = latLong.split(",");

split() 方法将一个字符串分成一个子字符串数组,由您传递的参数分隔。所以最后,你的 latLongArray 将是一个包含 2 个元素(纬度和经度)的数组!

于 2013-08-14T14:02:05.800 回答
0

试试看

 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] )
于 2013-08-14T14:02:14.743 回答
0

你一直说它是一个对象,在这种情况下解析字符串是没有意义的。如果您确实需要字符串输出,只需直接从对象中获取数字并将其连接起来。

obj[0]+","+obj[1]
于 2013-08-14T14:29:01.407 回答
0

怎么样...

var coordinatesString, coordinates, longitude, latitude; 

coordinatesString = '(25.229355, 55.302734)';
coordinates = coordinatesString.substring(1, coordinatesString.length - 1).split(', ');
longitude = coordinates[0];
latitude = coordinates[1];
于 2013-08-14T14:29:40.697 回答