これには正規表現は必要ありません。私があなたなら、私は使うだろう...
singleLine=singleLine.replace("\\\\n", "");
多くの人は、replace メソッドは 1 つだけを置き換えると考えていますが、実際の唯一の違いは、replaceAll が正規表現を使用するのに対し、replace は文字列の正確な一致を単純に置き換えることです。
ただし、正規表現を使用したい場合は、 \\\\\\\\ を実行する必要があると思います(Javaと正規表現ではエスケープ文字を「無効化」する必要があるため、x2だけでなくx4)
これをもう少し説明すると
他の唯一の問題はあなたの例にあります.singeLineを何にも設定しないでください。あなたがそれを隠していたのか、見逃していたのかはわかりません。
編集: \\\\\\\\ の理由を説明すると、Java では、1 つの \ を表すために「\\」を実行する必要があります。正規表現には \ 文字も使用されるため、同じことをもう一度行う必要があります。Java で "\\" だけを使用すると、正規表現パーサーは基本的に "\" を受け取ります。これは、特定のものに対するエスケープ文字です。エスケープするには、正規表現パーサーにそれらのうちの 2 つを指定する必要があるため、Java では、単一の「\」の一致を表すためだけに「\\\\」を実行する必要があります。