метод split класса String не включает конечные пустые строки [дубликат]

Возможные Дубликаты:
метод Java split () удаляет пустые строки в конце?

метод split класса String не включает конечные пустые строки в массив, который он возвращает. Как мне пройти это ограничение:

class TestRegex{
 public static void main(String...args){
  String s = "a:b:c:";    
  String [] pieces = s.split(":");

  System.out.println(pieces.length); // prints 3...I want 4.
 }
}

1 ответов


по словам документация:

этот метод работает как будто, вызывая метод разделения двух аргументов с помощью данное выражение и аргумент limit ноль.

для разделения с аргументом limit он говорит:

Если n не является положительным, то шаблон будет применяться столько раз, сколько возможно и массив может иметь любой длина. Если n равно нулю, то шаблон будет применяться столько раз возможно, массив может иметь любой длина и конечные пустые строки будут отброшены.

Итак, попробуйте вызвать метод split с непозитивным предельным аргументом, например:

String[] pieces = s.split(":", -1);