Regexp_replace Oracle替换字符' n'和' R'而不是更换新线路或空间
SELECT
COALESCE(TRIM(REGEXP_REPLACE(Col_1, '(<.*?>)|(/(\r\n)+|\r+|\n+|Chr(9)+/i)|(/^\s+|\s+$|\s+(?=\s))', ' ',1,0, 'm')), TRIM(REGEXP_REPLACE(Col2, '(<.*?>)|(/(\r\n)+|\r+|\n+|Chr(9)+/i)|(/^\s+|\s+$|\s+(?=\s))', ' ', 1, 0, 'm'))) AS SNDR_TO_RCVR_INF1
FROM TABLE_NAME.
这取代了Col_1或Col 2的字符“ R”或“ N”,而不是新行。
我想这是因为我在语法中使用了\ r和\ n。
但是,我该怎么办,语法识别 /n而不是n(newline)或 /r而不是r?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在运输返回的字符序列和新行(和TAB)中加入:
您可能可以进一步简化这一点,但这是一个单独的问题...
You can concatenate in the character sequences for carriage return and new line (and tab) instead:
db<>fiddle
You can probably simplify that further, but that's a separate issue...