如何将字符串(包含位置)转换为数组

时间:2013-11-14 04:47:15

标签: javascript

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

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 个答案:

答案 0 :(得分:1)

分为[],

必须在拆分正则表达式

中转义

]

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

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

filter的更易读的版本是:

arr.filter(function(el) {
  return el.trim().length === 0;
});

答案 1 :(得分: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);

答案 2 :(得分: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通过将字符串分隔为子字符串,将String对象拆分为字符串数组。

答案 3 :(得分:0)

跨浏览器解决方案:

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

var arr = string.replace(/\[|\]/g,'')
                .replace(/ /g,'')
                .split(',');