Rumah > Java > Kaedah replaceAll() Java melepaskan aksara khas

Kaedah replaceAll() Java melepaskan aksara khas

王林
Lepaskan: 2024-02-22 13:31:06
ke hadapan
1369 orang telah melayarinya

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);
Salin selepas log masuk

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

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

更新:

我最终使用:

comment = comment.replaceAll("\\n","\\\\n")
                 .replaceAll("\\r","\\\\r")
                 .replaceAll("\\t","\\\\t");
Salin selepas log masuk

解决方法

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

comment = comment.replaceAll("\n","\\\\n");
comment = comment.replaceAll("\r","\\\\r");
comment = comment.replaceAll("\t","\\\\t");
Salin selepas log masuk

Atas ialah kandungan terperinci Kaedah replaceAll() Java melepaskan aksara khas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan