2010-12-14 55 views
6

我有一个像“; a; b; c ;; e”的字符串。注意在e之前有一个额外的分号。我想将字符串拆分为a,b,c;,e。但它分裂像a,b,c,;e使用javascript拆分字符串

我的代码是

var new_arr = str.split(';'); 

我可以做在这里怎么得到我想要的结果呢?

问候

回答

5

使用正规负前瞻:

";a;b;c;;e".split(/;(?!;)/) 
+0

+1为正则表达式.... – 2010-12-14 10:12:07

+0

我想这IE8,仍然给我'了''B','C;','e' – vikmalhotra 2010-12-14 10:18:44

+0

这就是你说什么是你期望的结果。 – 2010-12-14 10:21:07

1

有趣的是,我得到["", "a", "b", "c", "", "e"]与您的代码。

var new_array = ";a;b;c;;e".split(/;(?!;)/); 
new_array.shift(); 

这可以在Firefox中使用,但我认为它是正确的。您可能需要此cross-browser split用于其他浏览器。

-1
var myArr = new Array(); 

var myString = new String(); 

myString = ";a;b;c;;e"; 

myArr = myString.split(";"); 


for(var i=0;i<myArr.length;i++) 
{ 
    document.write(myArr[i]); 
}