0

假设我输入katheline\njoseph了 db 表的列(数据类型-CLOB)。

在 java 端,我希望 o/p 为:

katheline

Joseph

ie \n 应该在java 端被识别为换行符。

java中是否有任何一种方法可以检索带有\n作为换行符的db列。

我不想做任何操作......例如。不希望使用字符串 Tokenizer 类或替换方法。他们工作正常,但我正在寻找直接方法

4

1 回答 1

0

\n只是您可以在字符串中写入字符数 10(“换行符”)的一种方式。如果您从数据库中检索该字符,它将在您的字符串中。您可以遍历字符并验证它是:

for(int i=0; i<value.length(); i++)
{
   char c = value.charAt(i);
   int code = value.codePointAt(i);
   System.out.println(c + " - " + code);
}

它应该打印:

A - 65
B - 66

 - 10
C - 67

为了:

AB
C

手动 SQL

在 SQL 中:尝试char(10)或类似的东西。这取决于 RDBMS。

用Java替换

如果您无法将 DB 中的值转换为真正的换行符,那么您可以执行以下操作:

value.replaceAll("\\\\n", "\\n");

它接收一个正则表达式:\\n表示 bar 和 n 以及一个替换:\n

当我在写一个 Java 字符串时,我必须转义条,所以这就是为什么使用这么多条的原因。

用换行符将值写入 DB

永远不要将值写为文字 SQL:

insert into .... values ('myvalue');

使用参数:

insert into... values (?)

preparedStatement.setParam(1, myValue);
于 2012-10-03T11:22:42.473 回答