Java で保存された空の値を使用した文字列の分割
String.split() メソッドを使用して文字列の分割を実行すると、予期しない動作が発生します。連続した区切り文字を使用すると、結果の配列から空の値が削除されます。ただし、データの元の順序と構造を維持するために、これらの空の値を保持することが期待される場合があります。
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
この例では、デフォルトの "split()" メソッドでは、6 つの値のみが返されます。 : [5、6、7、8、9、空]。空の値を保持するには、limit パラメーターを取る Split() のオーバーロードされたバージョンを使用できます。制限を負の値に設定すると、空の値が保持されます。
String[] split = data.split("\|", -1);
split(regex, limit) のドキュメントには、制限が正でない場合、パターンが何度でも適用されると記載されています。可能な限り、結果の配列が任意の長さになるようにし、末尾の空の文字列が破棄されました。
例外:
末尾の空文字列の削除は、それらの空文字列が分割プロセス中に作成された場合にのみ意味があることに注意することが重要です。たとえば、空の文字列 ("") を区切り文字で分割すると、空の文字列 ["", ""] を含む配列が作成されます。これは、実行する分割がないため、元の文字列自体が配列内の空の文字列として表されるためです。
以上がJava で文字列を分割するときに空の文字列を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。