@antoart
Web developer

Почему метод split(regex) в Java отбрасывает нужную часть строки?

Здравствуйте!

Прошу помочь понять в чем дело.
Имеется строка из файла формата .csv
В ячейке находится слово, дальше идет несколько пустых ячеек. Хотел разбить строку на части и получить ВСЕ ячейки в массиве.
Использую split(regex), однако часть строки теряется.
String s = ";;;;;;;word;;;;;;;;";
		String[] ss = s.split(";");
		System.out.println(ss.length);

выход - длина 8
Хотя строка больше, символов ";" также больше.
split обрезает все за словом "word"

Если я перемещу слово дальше, то длина массива увеличится
{
	public static void main (String[] args) throws java.lang.Exception
	{
		// your code goes here
		String s = ";;;;;;;;;;;;;;;word";
		String[] ss = s.split(";");
		System.out.println(ss.length);
	}

На выходе длина массива - 16.

Прошу подсказать в чем дело, или указать направление для разбирательства.

Спасибо большое.
  • Вопрос задан
  • 462 просмотра
Решения вопроса 1
Это "штатное поведение" - пустые концевые элементы выбрасываются.
Если надо все - используй
s.split(";", -1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы