2014-01-16 48 views

回答

3

只需全部替換(,)和空字符串的所有空格字符;與,把它分解,然後應用parseInt功能在所有元素將它們轉換成數字,這樣

var data = "(1,4,76,465,567,583,590)"; 
console.log(data.replace(/[\s()]/g, "").split(",").map(function(currentItem) { 
    return parseInt(currentItem); 
})); 

輸出

[ 1, 4, 76, 465, 567, 583, 590 ] 

如果你不想將它們轉換爲數字,那麼你最好用

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

如果你的環境不支持但功能,可以使用下面的

var splittedNumbers = data.replace(/[\s()]/g, "").split(","); 
for (var i = 0; i < splittedNumbers.length; i += 1) { 
    splittedNumbers[i] = parseInt(splittedNumbers[i]); 
} 
console.log(splittedNumbers); 
0

那麼首先你需要擺脫括號。

var string = "(1,4,76,465,567,583,590)"; 
string = string.replace(/[()]/g,''); 

,將返回

"1,4,76,465,567,583,590" 

所以你現在需要做的就是使用split()方法

var array = string.split(','); 

,將返回字符串值,所以你將還需要通過他們通過parseInt()方法。

0

添加新的方法,以字符串原型機由逗號

String.prototype.splitString = function() { 
    return this.replace('(', '').replace(')', '').split(',').map(function (current) { return parseInt(current) }); 
}; 

var string = "(1,2,3,456,567,543,232)"; 

var array = string.splitString(); 

輸出刪除(),然後分裂的

[1, 2, 3, 456, 567, 543, 232] 
+0

OP希望整數不是字符串數組。 – Andy

+0

已注意。更新了答案 – Tom