私のコードは次のとおりです。
String s = "1;;;; 23;;";
System.out.println(s.split(";").length);
そして出力として与えます5
。のソースコードsplit
は次のとおりです。
public String[] split(String regex) {
return split(regex, 0);
}
そしてドキュメントは言う:
このメソッドは、指定された式とゼロの制限引数を使用して2つの引数のsplit(java.lang.String、int)メソッドを呼び出すかのように機能します。したがって、末尾の空の文字列は結果の配列に含まれません。
たとえば、文字列 "boo:and:foo"は、次の式で次の結果を生成します。
Regex Result : { "boo", "and", "foo" } o { "b", "", ":and:f" }
私が持っている文字列を印刷する場合:
1
23
私はこの1;;;; 23;;
ようなものから得るべきではありません{"1", "", "", "", " 23", ""}
か?