如何用java将换行符替换为“\n”?

如何用java将换行符替换为“\n”?,java,replace,newline,Java,Replace,Newline,我想用替换换行符,\n但我的代码不起作用 str.replaceAll("\n","\n")); 预期:Hello\n World 实际: 你好 世界如果你想让反斜杠出现,你必须避开它。否则它将被解释为一个新行 str = str.replaceAll("\n","\\\\n")); 如果你想让反斜杠出现,你必须避开它。否则它将被解释为一个新行 str = str.replaceAll("\n","\\\\n")); “\n”意味着像“\t”这样的新行是一个制表符,“\”是一个转义字符。这

我想用替换换行符,\n但我的代码不起作用

str.replaceAll("\n","\n"));
预期:Hello\n World

实际:

你好


世界

如果你想让反斜杠出现,你必须避开它。否则它将被解释为一个新行

str = str.replaceAll("\n","\\\\n"));

如果你想让反斜杠出现,你必须避开它。否则它将被解释为一个新行

str = str.replaceAll("\n","\\\\n"));

“\n”意味着像“\t”这样的新行是一个制表符,“\”是一个转义字符。这意味着它后面的字符不是作为普通文本处理的。有关转义字符的详细信息,您应该阅读有关转义字符的内容。因此,如果您想实际键入“\”,则需要使用“\”来表示它。这意味着,如果您想要有“\n”,您应该键入“\n”。请选中转义字符,不要在不理解它的情况下使用此信息。

'\n'表示像'\t'这样的新行是制表符,'\'是转义字符,表示后面的字符不是作为普通文本处理的。有关转义字符的详细信息,请参阅,因此,如果您想要实际键入“\”,那么您需要用“\”来表示它。这意味着如果您想要有“\n”,您应该键入“\n”。请检查转义字符,不要在不理解它的情况下使用此信息。

试试这个

class Scratch {
    public static void main(String[] args) {
        System.out.println("Hello\n world".replace("\n", "\\n"));
    }
}
试试这个

class Scratch {
    public static void main(String[] args) {
        System.out.println("Hello\n world".replace("\n", "\\n"));
    }
}

您可以使用以下3种方法来很好地完成代码工作:

#1
text = str.replace("\n", "\\n");

#2
text = str.replace(System.getProperty("line.separator"), "\\n");

#3
text = text.replaceAll("\\n", "\\\\n");

您可以使用以下3种方法来很好地完成代码工作:

#1
text = str.replace("\n", "\\n");

#2
text = str.replace(System.getProperty("line.separator"), "\\n");

#3
text = text.replaceAll("\\n", "\\\\n");

您可以使用以下代码来实现这一点

String hello = "hello\nworld";
hello=hello.replaceAll("\\n", "\\\\n");
System.out.println(hello);

您可以使用以下代码来实现这一点

String hello = "hello\nworld";
hello=hello.replaceAll("\\n", "\\\\n");
System.out.println(hello);


如果你仔细看你的代码,为什么你认为如果你用完全相同的东西替换某些东西会发生什么?您可能要替换它\\n.好的,预期结果和实际结果都很清楚,但是。你能指定输入吗?我正在从包含Helloline break World的txt文件中读取str,如果你仔细查看你的代码,为什么你希望用完全相同的东西替换某个东西会发生什么?您可能要替换它\\n.好的,预期结果和实际结果都很清楚,但是。你能指定输入吗?我正在从包含Helloline break world的txt文件中读取str,这不是给Hello n world吗?它为我输出Hello n world是的,我们需要单独转义的反斜杠。编辑答案太棒了!我会把这个作为答案,谢谢!这不是给Hello n world吗?它为我输出Hello world是的,我们需要分别转义的反斜杠。编辑答案太棒了!我会把这个作为答案,谢谢!方法3不会产生两个字符\和n,而是一个换行符。\在正则表达式替换部分中也是特殊的,因为它有$metacharacter,可以用作$groupID或${groupName}以重用捕获组中的匹配项。为了让我们转义,$regex还使用了\here,它生成了\metacharacter,所以为了转义\we需要另一个\。所以我们需要转义\两次,一次在regex中,\\一次在String literal\\\。@Pshemo,谢谢你的建议,我编辑我的回答方法3不会产生两个字符\和n,而是一个换行字符。\在正则表达式替换部分中也是特殊的,因为它有$metacharacter,可以用作$groupID或${groupName}以重用捕获组中的匹配项。为了让我们转义,$regex还使用了\here,它生成了\metacharacter,所以为了转义\we需要另一个\。所以我们需要转义\两次,一次在regex中,\\一次在String literal\\\。@Pshemo,谢谢你的建议,我编辑了我的答案