在sqldeveloper中运行,这会在结果
中提示一个空单元格select regexp_replace(chr(10) || chr(13), '\n', 'New Line')
from dual
我希望这是'_New Line'
或'New Line_'
,但我得到'__'
(请注意,下划线在视觉上是一个空白区域。)
这也不起作用。
select regexp_replace(
UNISTR('\000A')
|| UNISTR('\000D')
, '\n', 'New Line')
from dual
具体来说,我需要这个在java中工作。有一种方法将调用存储过程,该存储过程返回带有可能包含换行符的列的游标。从java方面我需要这个工作:
String or = resultset.getString("some_column"); // null check left for simplicity
... = or.split("\\n");
... = or.split("\\r?\\n");
我正在使用regexp_replace进行测试,因为它应该做同样的事情。
答案 0 :(得分:0)
您已使用换行符,chr(10)
:
select regexp_replace('<'||chr(10) || chr(13)||'>', chr(10), 'New Line')
from dual;
要替换换行符,请使用chr(13)
。
您不需要在此处使用正则表达式,而是可以使用普通replace()
。
SQL Fiddle添加了尖括号以更清晰地显示输出。