Verhalten von String.split in Java 1.6?
Mein Code ist:
String s = "1;;;; 23;;";
System.out.println(s.split(";").length);
und gibt als Ausgabe5
. Der Quellcode vonsplit
ist:
public String[] split(String regex) {
return split(regex, 0);
}
und die Dokumentation sagt:
Diese Methode funktioniert so, als ob Sie die Split-Methode mit zwei Argumenten (java.lang.String, int) mit dem angegebenen Ausdruck und einem limit-Argument von Null aufrufen. Nachgestellte leere Zeichenfolgen sind daher nicht im resultierenden Array enthalten.
Die Zeichenfolge "boo: and: foo" liefert beispielsweise mit diesen Ausdrücken die folgenden Ergebnisse:
Regex Result
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
Wenn ich die Zeichenfolgen drucke, die ich habe:
1
23
Sollte ich das nicht schaffen?1;;;; 23;;
so etwas wie{"1", "", "", "", " 23", ""}
?