oracle 按.反轉或按空格反轉之REGEXP_REPLACE應用
今天有同事問我,0.450000000838.450000000216.450000000150.450000000146
如何轉換為:450000000146.450000000150.450000000216.450000000838.0
按照標點符號,反轉 。
按照標點符號,反轉 。
我依稀記得可以用正規表示式,實在不行可以自己寫個函式處理。
於是開始了我的探索路程了。
reverse,這個不行,不符合我們的需求。
最後我寫成這樣:
select REGEXP_REPLACE('0.450000000838.450000000216.450000000150.450000000146',
'(\S+)\.(\S+)\.(\S+)\.(\S+)\.(\S+)$',
'\5.\4.\3.\2.\1') AS "names after regexp"
from dual;
'(\S+)\.(\S+)\.(\S+)\.(\S+)\.(\S+)$',
'\5.\4.\3.\2.\1') AS "names after regexp"
from dual;
haha, ok!啦
解釋一下:第一個引數是原始的字串,第二個是匹配模式,分成5段,每一段以"."分隔,(\S+) 代表非空格字元,$ 表示結束,第三個引數,\5,表示第5個分組的字元,就是原來字元的最後一個字串啦,“.“ 是插入點的意思啦。
簡單吧。看樣子,正規表示式還是要好好學習,可以省好多功夫哦!
上面是用小數點隔開的,若是空格,替換的表示式\. --> \s 就ok了,\s 表示空格的意思。
參考 Oracle® Database Advanced Application Developer's Guide
Using Regular Expressions in Database Applications
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25027760/viewspace-767088/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 字串或數字反轉字串
- 藍芽耳機怎麼按都不亮了 藍芽耳機長按無反應藍芽
- idea 格式化快捷鍵按了無反應Idea
- 《反應式應用開發》之“什麼是反應式應用”
- oracle按列求乘積(轉)Oracle
- 按鈕上面的按鈕 (轉)
- 字元反轉字元
- 反轉字串字串
- 字串反轉字串
- JavaScript從反轉陣列到連結串列反轉JavaScript陣列
- OpenAI宮鬥反轉反轉再反轉,到底是資本任性還是人性扭曲?OpenAI
- 開發者選項-顯示點按操作反饋
- 彼得反轉原理(轉載)
- 反轉字串(JavaScript)字串JavaScript
- 華為-字串反轉字串
- JavaScript 字串反轉JavaScript字串
- win10系統按win鍵沒響應反應的解決方法Win10
- win10 如何修復開始按鈕_win10開始按鈕沒反應怎麼辦Win10
- win10點選沒反應怎麼辦_win10點選開始按鈕沒反應如何解決Win10
- Java 應用程式中的按值傳遞語義 (轉)Java
- spring概念理解之IOC(控制反轉)Spring
- MFC 捕獲按鈕 按下和抬起 (轉)
- Python-按空格分割,多個空格當一個空格Python
- 按專案管理(轉)專案管理
- Spring 控制反轉Spring
- 反轉連結串列
- 經典的反轉
- js陣列反轉JS陣列
- 將一個字串進行反轉:將字串中指定部分進行反轉。比如“abcdefg”反轉為”abfedcg”字串
- js 根據滑鼠拖動(或手機長按)旋轉JS
- 利用遞迴方法實現連結串列反轉、前N個節點反轉以及中間部分節點反轉遞迴
- .NET IoC模式依賴反轉(DIP)、控制反轉(Ioc)、依賴注入(DI)模式依賴注入
- #反轉連結串列_C++版 #反轉連結串列_Java版 @FDDLCC++Java
- win10開始鍵按了沒反應怎麼辦_win10鍵盤選單鍵沒反應了修復方法Win10
- MUI – IOS系統,相簿選擇照片後,點選確定按鈕無反應UIiOS
- Win10系統開始按鈕打不開沒反應如何解決Win10
- Java程式的反加密(轉)Java加密
- 7.整數反轉