>  기사  >  Java의 replacementAll() 메소드는 특수 문자를 이스케이프합니다.

Java의 replacementAll() 메소드는 특수 문자를 이스케이프합니다.

王林
王林앞으로
2024-02-22 13:31:061178검색

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의 replacementAll() 메소드는 특수 문자를 이스케이프합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제