【问题标题】:Line break \n doesn't work, it show as string换行符 \n 不起作用,它显示为字符串
【发布时间】:2016-04-19 11:40:15
【问题描述】:

我有一个以 (\n) 作为换行符的字符串

String mytext = "<p>Your email is not correct.\nPlease check again</p>"
//(mytext value load from my database)

我把 mytext 像这样放在 webview 上:

web_view.loadDataWithBaseURL("", mytext, "text/html", "UTF-8", "");

但是,我不知道为什么 \n 不能用作换行符,而是显示为字符串“\n”?

如何解决?

我尝试用mytext.replace("\n","&lt;/ br&gt;")mytext.replaceAll("\n", "&lt;/ br&gt;") 替换\n 为&lt;/ br&gt;,但它不起作用。

谢谢

更新

所以解决办法是:

mytext.replace ("\\r\\n", "&lt;br&gt;").replace ("\\n", "&lt;br&gt;");

感谢@ChristianJonassen 的帮助。

【问题讨论】:

    标签: android string webview line-breaks


    【解决方案1】:

    您使用的是 HTML,您需要引入 HTML 换行符。

    在您的情况下,页面的源代码将被赋予换行符,而不是给予用户的表示。

    以下是您可以解决的方法:

    String mytext = "<p>Your email is not correct.<br />Please check again</p>"
    

    由于它来自外部服务,您可以通过替换\n来编辑字符串:

    mytext.replaceAll("\n", "<br />");
    

    【讨论】:

    • 但我无法编辑 mytext,它从我的办公室服务器加载。
    • 通常有一种称为“nl2br”的方法(它将普通换行符更改为
      )。这可能会有所帮助。 :)
    • 我不能把原来的问题放在这里,所以我用上面的简单字符串做一个例子。
    • @ChristianJonassen : 你能举个例子如何使用它吗?
    • 有多种方法。 stackoverflow.com/questions/26174622/… ... 或者你可以进一步谷歌它。它是“br 的换行符”(或 HTML 换行符的换行符,或其他)。
    猜你喜欢
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    相关资源
    最近更新 更多