我有一个包含位置的字符串:
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()
不在这里工作。
我有一个包含位置的字符串:
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()
不在这里工作。
在和[
上拆分。 ]
,
]
必须在拆分正则表达式中转义
var arr = string.split(/[[,\]]/).filter(function(el) { return el.trim(); })
Array.prototype.filter
需要从数组中删除空字符串。
更易读的版本filter
是:
arr.filter(function(el) {
return el.trim().length === 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);
尝试这个
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通过将字符串拆分为子字符串,将字符串对象拆分为字符串数组。
跨浏览器解决方案:
var string = "[ 30.733315, 76.77941799999999,City,6,10/28/2013 10:28:39 AM]";
var arr = string.replace(/\[|\]/g,'')
.replace(/ /g,'')
.split(',');