次の文字列があります。
String str = "\nHERE\n\nTHERE\n\nEVERYWHERE\n\n";
これを印刷すると、次のように出力されます (もちろん、\n
「文字通り」印刷されるわけではありません)。
\n
HERE\n
\n
THERE\n
\n
EVERYWHERE\n
\n
\n
メソッドを呼び出すと、split("\n")
改行 ( \n
) 文字の間のすべての文字列を取得したいのですが、最後の空の文字列も含まれます。
たとえば、今日これを行うとします。
String strArray[] = str.split("\n");
System.out.println("strArray.length - " + strArray.length);
for(int i = 0; i < strArray.length; i++)
System.out.println("strArray[" + i + "] - \"" + strArray[i] + "\"");
次のように出力したい (出力 A):
strArray.length - 8
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
strArray[6] - ""
strArray[7] - ""
現在、次のように出力され (出力 B)、末尾の空の文字列はスキップされます。
strArray.length - 6
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
split()
出力 A のようにメソッドに空の文字列を含めるにはどうすればよいですか? もちろん、私は複数行のコードを書くことができましたが、それを実装しようとして時間を無駄にする前に、簡単な方法や余分な 2 行ほどのコードが役立つかどうかを知りたかったのです。ありがとう!