2

文字列から改行文字を置き換えるコードを作成しています。Windowsの場合、

String.replaceAll(System.getProperty("line.separator"), "\\n");

これは正常に機能しますが、UNIXでは失敗します。

UNIXでは何を使用する必要がありますか?

4

2 に答える 2

1

\nUnix では正しいです。Windows は\r\n、Mac は\rIIRC を使用します。

\n問題は、マルチプラットフォーム言語である Java が自動的にシステムのセパレーターに置き換わるという事実にある可能性があります。私はJavaを知りませんが、これが事実だと思います。

編集:投稿したコードが使用しているものである場合、問題があると思います。Stringクラスです。また、Java では不変です。代わりに次のようにする必要があります。

String myStr = "abc\ndef";
myStr = myStr.replaceAll(/* params */);
于 2012-07-12T05:35:55.103 に答える