2010-12-14 4 views
6

У меня есть строка типа "; a; b; c ;; e". Обратите внимание, что есть дополнительная точка с запятой до e. Я хочу, чтобы строка была разделена на a, b, c;, e. Но он получает раскол, как a, b, c, ;e.разделите строку с помощью javascript

Мой код

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

Что я могу сделать здесь, чтобы получить результат я хочу?

С уважением

ответ

5

Используйте Regexp отрицательный предпросмотр:

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

+1 за Regexp .... –

+0

Я попробовал этот IE8, по-прежнему дает мне 'Ā',' b', 'с;', 'é' – vikmalhotra

+0

Это то, что вы заявили, был ваш ожидаемый результат. –

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]); 
} 
Смежные вопросы