Heim >Java >Die Methode replaceAll() von Java maskiert Sonderzeichen

Die Methode replaceAll() von Java maskiert Sonderzeichen

王林
王林nach vorne
2024-02-22 13:31:061244Durchsuche

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");

Das obige ist der detaillierte Inhalt vonDie Methode replaceAll() von Java maskiert Sonderzeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen