Я пытаюсь проанализировать разграниченную строку с помощью функции разделения JavaScript. Я использую двойной символьный разделитель. Таким образом для, например, если строка содержит связанные с сотрудниками данные со следующими полями:
(Обязательный) идентификатор Emp
(Обязательное) имя
Возраст (дополнительно)
Номер мобильного телефона (дополнительно)
и используемый разделитель |*
(т.е. канал, сопровождаемый звездой)
У меня могут быть данные как это
5322|*Mike|*21|*077665543
5323|*Jen|*|*077665543
5324|*Raj|*25|*
5325|*Alan|*|*
Как я извлекаю нулевые значения в массив, возвращенный разделением?
Если я использую Record.split(/\|\*/)
Это, кажется, игнорирует нулевые значения. Я должен использовать другие функции как regex должностное лицо + подстрока, чтобы сделать это? Функция разделения, кажется, довольно удобна за исключением этой проблемы.
Не путайте null с пустой строкой. Ваше регулярное выражение правильно разбивает строку с разделителями, захватывая пустые строки, когда поля «пусты», как должны. Если вам нужно, чтобы эти элементы массива были нулевыми, вам придется самостоятельно обработать возвращенный массив.
То, что вы делаете, правильно, и нулевые значения присутствуют.
>>> "5325|*Alan|*|*".split(/\|\*/)
["5325", "Alan", "", ""]