为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以使用 replaceAll() 函数来创建一个在其上下文中包含 \n 的字符串?

是否可以使用 replaceAll() 函数来创建一个在其上下文中包含 \n 的字符串?

catspeake 2023-05-10 13:43:29
我正在尝试将一个字符串导出到一个带有条件的文本文件,该条件是该字符串在其中包含 \n 。使用 java 函数 replaceAll(),它不起作用。有趣的是,我知道您可以使用 \\n 而不是 \n 来转义它,就像从头开始创建字符串或将字符串添加在一起一样。我已经在谷歌中找到了这个信息,但我的问题是我想使用 replaceAll() 函数,而不是仅仅将字符串加在一起。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\nworksThis\nDoes not,但实际输出是:This\nworksThisnDoesnot.在第二行中,“\”消失了。
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

在使用字符序列替换时,您应该使用replaceinstead of 。replaceAll

replaceAll用于替换所有出现的正则表达式。

replace用于替换所有出现的字符序列。

例子:

System.out.println(E.replace("\n","\\n"));

输出:

这\n有效

这\n没有

这些方法的名称令人困惑,所以我理解你的困惑。


查看完整回答
反对 回复 2023-05-10
?
万千封印

TA贡献1891条经验 获得超3个赞

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"));

因为它不会忽略 的所有出现。


查看完整回答
反对 回复 2023-05-10
?
慕的地10843

TA贡献1785条经验 获得超8个赞

我找到了答案,应该使用 4 /'s 而不是 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"));

请保留此答案以备将来参考。


查看完整回答
反对 回复 2023-05-10
  • 3 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信