我正在嘗試洗掉模板文本??,例如 &#x; 或 &#xx; 或 &#xxx; 從長串
注:x / xx / xxx - 為數字,數字的長度未知,單元格型別為CLOB
例如:
SELECT 'H'ello wor±ld' FROM dual
一個理想的結果:
Hello world
我知道應該使用regexp_replace ,但是你如何使用這個函式來洗掉這個文本呢?
uj5u.com熱心網友回復:
您可以使用
SELECT REGEXP_REPLACE(col,'&&#\d ;')
FROM t
在哪里
&被放置兩次以提供對替換字符的轉義\d表示數字,以下提供了它們的多次出現- 結束模式
;
或者只使用一個 & 符號 ( '&#\d ;') 作為模式Demo,因為 & 符號對 Oracle 有特殊含義,所以用法有點問題。
uj5u.com熱心網友回復:
如果您想洗掉物體,因為您不知道如何用它們的字符值替換它們,這里有一個解決方案:
UTL_I18N.UNESCAPE_REFERENCE( xmlquery( 'the_double_quoted_original_string' RETURNING content).getStringVal() )
換句話說,'H'ello wor±ld'應該將原始檔案作為'"H'ello wor±ld"'.
結果將是“Hello wo±ld”
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/508628.html
