Java 是否可以使用replaceAll()函数来创建在其上下文中包含\n的字符串?
我正在尝试将字符串导出到具有条件的文本文件中,该条件是该字符串中包含\n。对于java函数replaceAll(),它不起作用 有趣的是,我知道您可以使用\\n而不是\n来逃避它,例如从头创建字符串或将字符串添加到一起。我已经在google中找到了这些信息,但我的问题是我想使用replaceAll()函数,而不是仅仅将字符串添加在一起Java 是否可以使用replaceAll()函数来创建在其上下文中包含\n的字符串?,java,Java,我正在尝试将字符串导出到具有条件的文本文件中,该条件是该字符串中包含\n。对于java函数replaceAll(),它不起作用 有趣的是,我知道您可以使用\\n而不是\n来逃避它,例如从头创建字符串或将字符串添加到一起。我已经在google中找到了这些信息,但我的问题是我想使用replaceAll()函数,而不是仅仅将字符串添加在一起 String a = "This"; String b = "\\n"; String c = "works"; String d = a+b+c; System
String a = "This";
String b = "\\n";
String c = "works";
String d = a+b+c;
System.out.println(d);
String E = "This\nDoes not";
System.out.println(E.replaceAll("\n","\\n"));
预期结果将是:
This\nworks
This\nDoes not
,,
但实际产出是:
This\nworks
ThisnDoesnot.
在第二行“\”消失了。我找到了答案,应该用4/,而不是2。有效的代码应如下所示:
String a="This";
String b="\\n";
String c="works";
String d=a+b+c;
System.out.println(d);
String E="This\nDoes not";
System.out.println(E.replaceAll("\n","\\\\n"));
请保留此答案以备将来参考。使用字符序列替换时,应使用
replace
而不是replaceAll
用于替换所有引用的正则表达式
用于替换所有引用的字符序列
示例:
System.out.println(E.replace("\n","\\n"));
输出:
System.out.println(E.replace("\n","\\n"));
这\n行得通
这不是
这些方法的名称令人困惑,所以我理解您的困惑
String a = "This";
String b = "\\n";
String c = "works";
String d = a+b+c;
System.out.println(d);
String E = "This\nDoes not";
System.out.println(E.replace("\n","\\n"));
因为它不会忽略所有的注意事项。是的,它是有效的,谢谢,这些方法令人困惑,我同意你的看法。