Как я добираюсь, JavaScript разделил функцию для извлечения нулевых значений из разграниченной строки

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

  1. (Обязательный) идентификатор Emp

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

  3. Возраст (дополнительно)

  4. Номер мобильного телефона (дополнительно)

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

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

5322|*Mike|*21|*077665543

5323|*Jen|*|*077665543

5324|*Raj|*25|*

5325|*Alan|*|*

Как я извлекаю нулевые значения в массив, возвращенный разделением?

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

1
задан kennytm 22 February 2010 в 12:24
поделиться

2 ответа

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

0
ответ дан 3 September 2019 в 01:11
поделиться

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

>>> "5325|*Alan|*|*".split(/\|\*/)
["5325", "Alan", "", ""]
2
ответ дан 3 September 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: