(改行コードの)\r→(文字列の)\r\n
(改行コードの)\n→(文字列の)\r\n
と置き換えるときのreplaceAllメソッドについての質問です。
###発生している問題
String text = "testA\ntestB\rtestC\n";
text = text.replaceAll("\r", "\\r\\n");
text = text.replaceAll("\n", "\\r\\n");
System.out.println(text);
この方法ではコンソール上には
testA\r\ntestB\r\ntestC\r\n
と表示されます。これは期待通りの結果なのですが、
String text = "testA\ntestB\rtestC\n";
text = text.replaceAll("\r", "\\r\\n");
text = text.replaceAll("\n", "\\r\\n");
System.out.println(text);
このように置換を行ってもコンソール上には
testA\r\ntestB\r\ntestC\r\n
こちらも期待通りの結果となります。
replaceAllの使い方として正しいのは後者の方法だと思っているのですが、なぜ前者の方法でも同じ結果になるのでしょうか?
仕組みがわかる方がいらっしゃいましたら、ご教示お願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Java 1.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/24 08:28