ホームページ >Java >&#&チュートリアル >Java 文字列を分割して、末尾の値を含むすべての空の値を保持するにはどうすればよいですか?

Java 文字列を分割して、末尾の値を含むすべての空の値を保持するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-20 19:50:24849ブラウズ

How Can I Split a Java String and Keep All Empty Values, Including Trailing Ones?

空の値を削除せずに Java 文字列を分割する

split(String regex) メソッドを使用して Java 文字列を分割しようとすると、次のようになります。特に空の値が文字列内のどこかにある場合、結果の配列に空の値を保持します。ただし、デフォルトでは、split メソッドは出力配列から末尾の空の値を削除します。

次のコードを考えてみましょう:

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

この例では、分割で 8 つの値を取得することを想定しています。空の文字列を含む配列: [5、6、7、EMPTY、8、9、EMPTY、EMPTY]。ただし、末尾の空の文字列が自動的に削除されるため、予想外に値が 6 つだけになってしまいます。

この問題を解決するには、制限が設定されているオーバーロードされた Split(String regex, int limit) メソッドを利用できます。負の値にします。これは、末尾の空の文字列を削除しないようにメソッドに指示します。

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

オーバーロードされたバージョンを呼び出すことにより、デフォルトの動作をオーバーライドし、位置に関係なく、分割配列内のすべての空の値を保持します。

追加の洞察

削除のデフォルトの動作に注意することが重要です。末尾の空文字列は、それらの空文字列が分割プロセスの結果として生成された場合にのみ適用されます。これは、元の入力文字列 (例: "".split(anything)) 内に空の文字列が存在する場合、それは分割メカニズムによって導入されたものではないため、結果の配列に残ることを意味します。

この粒度分割メソッドの動作を理解することで、開発者は空の可能性のある値を扱うときに、出力配列の内容をより適切に制御できるようになります。

以上がJava 文字列を分割して、末尾の値を含むすべての空の値を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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