如何用java将换行符替换为“\n”?
我想用替换换行符,\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”这样的新行是一个制表符,“\”是一个转义字符。这
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,谢谢你的建议,我编辑了我的答案