2010-12-14 17 views
6

Tengo una cadena como "; a; b; c ;; e". Tenga en cuenta que hay un punto y coma adicional antes de e. Quiero que la cadena se divida en a, b, c;, e. Pero se divide como a, b, c, ;e.dividir una cadena usando javascript

Mi código es

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

¿Qué puedo hacer yo por aquí para obtener el resultado que quiero?

Saludos

Respuesta

5

Utilice un Regexp búsqueda negativa hacia delante:

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

+1 para Regexp .... –

+0

yo probamos este IE8, todavía me da 'a', 'B', 'C; ',' E' – vikmalhotra

+0

Eso es lo que afirmó era el resultado esperado. –

1

Interesante, me sale ["", "a", "b", "c", "", "e"] con su código.

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

Esto funciona en Firefox, pero creo que es correcto. Es posible que necesite este cross-browser split para otros navegadores.

-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]); 
} 
Cuestiones relacionadas