[英]Eliminating multiple delimiters in single column in oracle
我的表有單列信息
Info
+名稱+++++++ + ano +++++++++ agender ++++++++++++
我應該得到像
aname+ano+agender+arace
我必須消除多個定界符並替換為單個+
我嘗試使用regexp_replace和trim並按以下方式工作
select trim(REGEXP_REPLACE('+aname + + + + + + +
+ano + + + + + + + +
+agender+ + + + + + + + + + +
+arace', '\ + + ', '+'),'+') from dual;
我將輸出作為aname +++++++ ano ++++++ agender ++++++++++ arace
這個正則表達式可以解決這個問題:'\\ ++'
select REGEXP_REPLACE('+aname++++++ano+++++++++agender++++++++++++arace', '\++', '+') from dual;
要擺脫前導+(如您的示例),請使用ltrim(或修剪也刪除尾隨+)。
select ltrim(REGEXP_REPLACE('+aname++++++ano+++++++++agender++++++++++++arace', '\++', '+'),'+') from dual;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.