Как получить функцию разделения JavaScript для извлечения нулевых значений из строки с разделителями - PullRequest
1 голос
/ 22 февраля 2010

Я пытаюсь проанализировать строку с разделителями, используя функцию разделения javascript. Я использую двойной символьный разделитель. Так, например, если строка содержит данные о сотрудниках со следующими полями:

  1. Emp Id (обязательно)

  2. Имя (обязательно)

  3. Возраст (необязательно)

  4. Мобильный № (необязательно)

и используемый разделитель |* (то есть труба, за которой следует звезда)

У меня могут быть такие данные

5322|*Mike|*21|*077665543

5323|*Jen|*|*077665543

5324|*Raj|*25|*

5325|*Alan|*|*

Как извлечь нулевые значения в массив, возвращаемый функцией split?

Если я использую Record.split(/\|\*/) Кажется, игнорируются нулевые значения. Нужно ли использовать для этого другие функции, такие как regex exec + substring? Функция разделения кажется довольно удобной, за исключением этой проблемы.

Ответы [ 2 ]

2 голосов
/ 22 февраля 2010

То, что вы делаете, правильно, и нулевые значения присутствуют.

>>> "5325|*Alan|*|*".split(/\|\*/)
["5325", "Alan", "", ""]
0 голосов
/ 22 февраля 2010

Не путайте ноль с пустой строкой. Ваше регулярное выражение правильно разделяет строку с разделителями, захватывая пустые строки, когда поля «пустые», как и должно быть. Если вам нужно, чтобы эти элементы массива были нулевыми, вам придется самостоятельно обрабатывать возвращаемый массив.

...