Разделение строки не возвращает пустые результаты

Я пытаюсь использовать

"value1:value2::value3".split(":");

Проблема в том, что я хочу, чтобы он включал пустые результаты.

Он возвращает: [значение1, значение2, значение3]
Оно должно быть: [значение1, значение2,, значение3]

Кто-нибудь знает регулярное выражение, чтобы исправить это?

Хорошо Я нашел причину проблемы. На самом деле я читаю текстовый файл, и он содержит следующую строку:

123:;~\&:ST02:M:test:M:4540145::type;12:51253:D:2.2:567766::AL:::::::2.2b

Когда я обрабатываю эту строку при чтении текстового файла, он дает ошибочный результат, упомянутый выше, то есть он не включает никаких пустых результатов в таких случаях:: ::::.

Но когда я использую указанную выше строку в тестовой программе, она не компилируется, и я получаю «недопустимую escape-последовательность». Я думаю, это из-за "\ &".

Есть ли способ решения этой проблемы с помощью регулярного выражения?

8
задан Marquinio 21 September 2010 в 23:27
поделиться