来自数据库的\ n(新行)字符的行为

时间:2013-07-19 15:54:44

标签: java database string oracle

我正面临一些奇怪的问题。我从数据库中取出一个电子邮件模板“嗨\ n你好吗?\ n故事还在继续”。我将此分配给我的java应用程序中的字符串并发送电子邮件。最终输出应为

Hi
How are you?
story continues

但我的结果是这样的

Hi \n How are you? \n story continue

而不是从db获取,如果我在字符串中硬编码,我正在以正确的方式进行。

什么可能导致无效?

有没有办法在java图层中有效?

2 个答案:

答案 0 :(得分:2)

试试这个

    String str = //value read from DB
    str = str.replaceAll("\\\\n", "\n");

答案 1 :(得分:0)

您必须使用StringEscapeUtils。您需要的方法是unescapeJava()

位于Apache Commons Lang内。