textarea があり、そこからテキストを処理して複数の改行を削除しようとしています。具体的には、改行が 2 行を超えて最大 2 行になる場合です。しかし、どういうわけかString.replace("\r\n\r\n\r\n", "\r\n\r\n")
うまくいかないようです。
なんで?
調べてみると、置換された文字列も表示されます 16進コードがたくさんあります
0d0a0d0a0d0a0d0a0d
参考までに、これは私が使用している方法です:
public static String formatCommentTextAsProvidedFromUser(String commentText) {
commentText = commentText.trim();
commentText = commentText.replace("\n\n\n", "\n\n");
commentText = commentText.replace("\r\n\r\n\r\n", "\r\n\r\n");
try {
Logger.getLogger(CommonHtmlUtils.class.getName()).info("Formated = " + String.format("%040x", new BigInteger(1, commentText.getBytes("UTF-8"))));
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(CommonHtmlUtils.class.getName()).log(Level.SEVERE, null, ex);
}
return commentText;
}
よくわかりません。置換後に 0a 0d が複数回発生するのはなぜですか?