从数据库列中检索Java时,Java不会将“ \ n”视为换行
我面临一个奇怪的问题。
我正在做的是将一些值存储在DB(oracle 11g)中,作为 然后在java中获取值并处理获取的数据。
现在,我已经在数据库中使用 作为值,并使用来在Java中获取它rs.getString()
。我正在获得适当的价值\n
。
String newLine=rs.getString("column_value");
现在我解析一个HTML页面并以字符串的形式获取整个页面,假设该页面有3行,每行描述了一些类似如下的信息:
Time: 08 AM - 11 AMDuration : 36 minutes
现在,在代码中,我将 传递给方法,这将返回“ 36分钟”。
我使用的逻辑是获取 的索引并读取直到遇到“ \ n”。如果我将换行符声明为
String newLine= "\n";
但是,如果我从数据库获得它是行不通的。我知道我不需要将其存储在数据库中,但我不想对这些项目进行硬编码。所以我只需要将其存储在DB中。有人可以帮我吗???
回答:
如果当你打印newLine
你\n
的输出,你可能需要您取消转义从数据库得到的字符串。Apache Commons Lang为此提供了一种方法:
http://commons.apache.org/proper/commons-
lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#unescapeJava(java.io.Writer,java.lang.String)
所以你只需要打电话
String newLine = StringEscapeUtils.unescapeJava(rs.getString("column_value"));
希望这可以帮助
以上是 从数据库列中检索Java时,Java不会将“ \ n”视为换行 的全部内容, 来源链接: utcz.com/qa/424999.html