将 java 中的 \n 和 \r\n 替换为 <br />

2022-08-31 13:36:18

对于几种语言,这个问题已经被问过好几次了,但我无法让它工作。我有一个这样的字符串

String str = "This is a string.\nThis is a long string.";

我正在尝试用使用替换\n<br />

str = str.replaceAll("(\r\n|\n)", "<br />");

但是没有被替换。我尝试使用此正则表达式工具进行验证,并看到相同的结果。输入字符串与 不匹配。我做错了什么?\n"(\r\n|\n)"


答案 1

它对我有用。

public class Program
{
    public static void main(String[] args) {
        String str = "This is a string.\nThis is a long string.";
        str = str.replaceAll("(\r\n|\n)", "<br />");
        System.out.println(str);
    }
}

结果:

This is a string.<br />This is a long string.

您的问题出在其他地方。


答案 2

对我来说,这很有效:

rawText.replaceAll("(\\\\r\\\\n|\\\\n)", "\\\n");

提示:使用正则表达式测试器进行快速测试,而无需在您的环境中进行编译