Java 完璧な空白行削除!


いろんなサイトで空白行削除のやり方が記されていますが、完璧な方法をやっと見つけたので、備忘録的に書いておきます。
【 参考サイト 】
連続した空白行削除:http://routesfate.blog80.fc2.com/blog-entry-44.html
文字列抜き出し:https://uxmilk.jp/47897

【 元データ 】(改行しているところに「\n」を記述しています。

あいう\n
\n
かきく\n
ABC\n
\n
\n
123\n
\n
\n

すべての空白行を削除 & 最後の改行も削除する

DeleteBlankLine.java
//処理する文字列
String after="あいう\n\nかきく\nABC\n\n\n123\n\n\n";
// 2つ以上連続した改行コードを1つにまとめる
after = after.replaceAll("(\n|\r|\n\r|\r\n){2,}", "\n");
// 空白行をマッチさせて削除する
after = after.replaceAll("[ \t\\x0B\f]+(\n|\r|\n\r|\r\n)", "");
//最後の改行を削除する
if(after.substring(after.length() - 1).equals("\n")){
    after=after.substring(0,after.length()-1);
}

【 結果 】綺麗に整います。

あいう\n
かきく\n
ABC\n
123

「123」の後の「\n」も削除されます。
最後の「\n」を削除しない場合は、上記コード中の下記コードを記述しないでください。

//最後の改行を削除する
if(after.substring(after.length() - 1).equals("\n")){
after=after.substring(0,after.length()-1);
}