ホームページ  >  記事  >  Java の replaceAll() メソッドは特殊文字をエスケープします

Java の replaceAll() メソッドは特殊文字をエスケープします

王林
王林転載
2024-02-22 13:31:061207ブラウズ

php小编鱼仔带来了一篇关于Java中replaceAll()方法转义特殊字符的问答文章。Java中的replaceAll()方法是用于替换字符串中的指定字符或字符序列,但在处理特殊字符时可能会出现一些问题。本文将解答如何正确转义特殊字符以及避免一些常见的错误,帮助读者更好地理解和应用这个方法。

问题内容

我正在使用 java replaceall() 方法来转义换行符

string comment = "ddnfa \n  \r \tdnfadsf ' \r t  ";
comment = comment.replaceall("(\\n|\\r|\\t)","\\\\$1");
system.out.println(comment);

但是上面的代码仍然插入新行。

有没有办法输出完全相同的注释(即使用 \n\r 而不是插入新行)?

更新:

我最终使用:

comment = comment.replaceAll("\\n","\\\\n")
                 .replaceAll("\\r","\\\\r")
                 .replaceAll("\\t","\\\\t");

解决方法

您必须逐一进行,因为换行符 u+000a 与两个字符转义序列 \n 无关:

comment = comment.replaceAll("\n","\\\\n");
comment = comment.replaceAll("\r","\\\\r");
comment = comment.replaceAll("\t","\\\\t");

以上がJava の replaceAll() メソッドは特殊文字をエスケープしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。