Поведение String.split в Java 1.6?
Мой код:
String s = "1;;;; 23;;";
System.out.println(s.split(";").length);
и дает в качестве вывода5
, Исходный кодsplit
является:
public String[] split(String regex) {
return split(regex, 0);
}
и в документации сказано:
Этот метод работает так, как если бы он вызывал метод split (java.lang.String, int) с двумя аргументами с заданным выражением и предельным аргументом, равным нулю. Поэтому завершающие пустые строки не включаются в результирующий массив.
Строка "бух: и: Foo»например, дает следующие результаты с этими выражениями:
Regex Result
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
Если я печатаю строки, у меня есть:
1
23
не должен»т я получаю от этого1;;;; 23;;
что-то вроде ?{"1", "", "", "", " 23", ""}