split с несколькими разделителями в конце

Разбиваю строку на части str.split(","); Если в конце исходной строки есть две запятых подряд, то в выходном массиве этого участка нет вообще. А как сделать, чтобы в конце массива добавлялась пустая строка?


Ответы (1 шт):

Автор решения: Герман Борисов

Для таких задач есть перегруженный вариант метода split с двумя параметрами:

String[] split(String regex, int limit)

Если limit > 0, то длина возвращаемого массива будет не больше указанного количества элементов. Весть хвост будет помещен в один последний элемент. Разделители в конце игнорируются также как и в варианте с одним параметром.

Если limit = 0, то поведение как у варианта без второго параметра.

Если же limit < 0, причём само значение не важно, то разделители в конце породят пустые строки в конце массива, как вам и нужно.

Ответ на ваш вопрос: str.split(",", -1)

→ Ссылка