разбить строку с помощью JavaScript - PullRequest
6 голосов
/ 14 декабря 2010

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

Мой код

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

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

С уважением

Ответы [ 3 ]

5 голосов
/ 14 декабря 2010

Используйте регулярное выражение с отрицательным прогнозом:

  ";a;b;c;;e".split(/;(?!;)/)
1 голос
/ 14 декабря 2010

Интересно, я получаю ["", "a", "b", "c", "", "e"] с вашим кодом.

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

Это работает в Firefox, но я думаю, что это правильно. Вам может понадобиться это кросс-браузерное разделение для других браузеров.

0 голосов
/ 14 декабря 2010
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] );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...