ホームページ >Java >&#&チュートリアル >Java の文字列 `split()` メソッドを使用して、空の値を含むすべての値を取得するにはどうすればよいですか?

Java の文字列 `split()` メソッドを使用して、空の値を含むすべての値を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-04 10:54:34953ブラウズ

How Can Java's String `split()` Method Be Used to Retrieve All Values, Including Empty Ones?

Java の文字列分割メソッドを使用した空でない値の取得

split() メソッドを使用して文字列を分割する場合、その方法を理解することが重要です。空の値を処理します。デフォルトでは、このメソッドは結果の配列から末尾の空の文字列値を削除します。

この動作を説明するには、次のコードを考えてみましょう。

String data = "5|6|7||8|9||";
String[] split = data.split("\|");
System.out.println(split.length);

期待される結果は、8 つの要素を含む配列です。二重パイプ文字 (||) で示される位置に空の文字列が含まれます。ただし、取得される値は [5,6,7,8,9] の 6 つだけです: [5,6,7,8,9].

デフォルト動作のオーバーライド

空でない値を取得するには、次を使用します。負の値に設定された制限パラメーターを受け取る、split() メソッドのオーバーロードされたバージョン:

String[] split = data.split("\|", -1);

By制限を負の値 (この場合は -1) に設定すると、パターンが可能な限り何度も適用され、空かどうかに関係なく、一致する値と一致しない値がすべて配列に含まれます。

ドキュメントを理解する

split() メソッドのドキュメントは、そのメソッドについての貴重な洞察を提供します。動作:

  • 制限がゼロより大きい場合: 配列の最後のエントリには、最後に一致した区切り文字を超えるすべての入力が含まれます。
  • 制限の場合は非正です: パターンは可能な限り何度でも適用され、配列には任意の値を含めることができます。 length.
  • 制限がゼロの場合: 末尾の空の文字列は破棄されます。

ルールの例外

末尾の空文字列の削除は、分割メカニズムによって作成された文字列にのみ適用されることに注意することが重要です。分割前に空の文字列は元の文字列とみなされ、削除されません。

以上がJava の文字列 `split()` メソッドを使用して、空の値を含むすべての値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。