0

我有一个包含位置的字符串:

var string = "[ 30.733315, 76.77941799999999,City,6,10/28/2013 10:28:39 AM]"

如何将其转换为数组,以便我可以得到

arr[0] = 30.733315,
arr[1] = 76.77941799999999 so on.

String.split()不在这里工作。

4

4 回答 4

1

在和[上拆分。 ],

]必须在拆分正则表达式中转义

var arr = string.split(/[[,\]]/).filter(function(el) { return el.trim(); })

Array.prototype.filter需要从数组中删除空字符串。

更易读的版本filter是:

arr.filter(function(el) {
  return el.trim().length === 0;
});
于 2013-11-14T04:56:39.933 回答
0
var string = "[ 30.733315, 76.77941799999999,City,6,10/28/2013 10:28:39 AM]";
string = string.replace('[',"['");
string = string.replace(']',"']");
string = string.replace(',',"','","gi");

console.log(string);
arr=eval(string);

console.log(arr);
于 2013-11-14T04:56:22.857 回答
0

尝试这个

var mystring= "[ 30.733315, 76.77941799999999,City,6,10/28/2013 10:28:39 AM]"
var list = mystring.split(',');

输出:

for(var i = 0; i < list.length; i++)
{
  alert(list[i]);
}

String.split通过将字符串拆分为子字符串,将字符串对象拆分为字符串数组。

于 2013-11-14T04:56:27.107 回答
0

跨浏览器解决方案:

var string = "[ 30.733315, 76.77941799999999,City,6,10/28/2013 10:28:39 AM]";

var arr = string.replace(/\[|\]/g,'')
                .replace(/ /g,'')
                .split(',');
于 2013-11-14T05:08:35.150 回答