当前位置:  开发笔记 > 运维 > 正文

如何将characher`\ n`替换为android中的新行

如何解决《如何将characher`\n`替换为android中的新行》经验,为你挑选了1个好方法。

我对API请求有一个服务器响应,如下所示。

Success! Your request has been sent.\n\nWe’ll inform you once it is done.

我需要在小吃栏中显示此消息。我需要\n在此响应中添加新行。我试图通过使用replaceAll

String message = (serverResponse.getMessage()).replaceAll("\\n", System.getProperty("line.separator"));

但它显示像这样

如果我添加了string.xml资源文件并开始使用,getString(R.string.message)则会出现相同的消息,\n则说明工作正常。如何从此响应字符串获取新行?

我尝试\n使用服务器响应中的其他字符进行更改,并且与可以正常使用replaceAll。问题仅\n在于响应消息。有什么解析的方法\n吗?



1> Dalija Prasn..:

您需要的是

String message = serverResponse.getMessage().replaceAll("\\\\n", "\n");

为什么需要四个反斜杠?

因为在Java中,反斜杠\是转义字符。如果要在Java字符串中包含单个反斜杠文字,则必须对其进行转义并使用\\

但是,replaceAll方法需要正则表达式,其中反斜杠也是转义字符,因此您也需要转义它。

基本上,在上面的代码中,Java字符串解析器将首先将这四个反斜杠转换为两个\\\\ -> \\,然后正则表达式解析器会将其余两个反斜杠解释为单个反斜杠文字。

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有