我正在从 SQL Server 2008 数据库中获取一个字符串到我的 Java 代码中并尝试打印它。不幸的是,换行符转义序列不会自动转换为换行符。我知道原因是我们没有将字符串放在数据库表的双引号内。下面是存储在 varchar 列中的示例值:
Remarks \nTestRemarks Issue\nTestIssue\n\nRegards \nSunny
当我在日志文件上打印它时,它与 \n 一起打印。我的应用程序约定不允许我将 String 存储在 Database varchar 列内的双引号内,因此我选择使用 Apache 显式取消转义它StringEscapeUtils.unescapeJava(str)
。不幸的是,结果是第一个和最后一个换行符转义序列成功转换为换行符,但其余所有换行符转义保持不变。如果我在数据库中的换行符转义序列之前放置空格,那么它会被识别和转换,但不会。你能帮我解决这种情况吗?