2010-12-14 15 views
6

Ho una stringa come "; a; b; c ;; e". Si noti che è presente un punto e virgola in più prima di e. Voglio dividere la stringa in a, b, c;, e. Ma viene diviso come a, b, c, ;e.divide una stringa usando javascript

mio codice è

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

Cosa posso fare qui per ottenere il risultato che voglio?

saluti

risposta

5

Uso di un'espressione regolare lookahead negativo:

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

+1 per Regexp .... –

+0

Ho provato questo IE8, dà ancora mi 'a',' B', 'C;', 'e' – vikmalhotra

+0

questo è ciò che lei ha affermato è stato il tuo risultato previsto. –

1

Interessante, ottengo ["", "a", "b", "c", "", "e"] con il codice.

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

Questo funziona in Firefox, ma penso che sia corretto. Potrebbe essere necessario questo cross-browser split per altri browser.

-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]); 
} 
Problemi correlati