我想用“Hello World”替換字串測驗字串。我希望 Hello 出現在第一行,World 應該出現在第二行,如下面的 Main 字串中所示
" This is a Test
string. This is a Test2 string"
輸出應該像
" This is a Hello
World. This is a Test2 string"
替換時也應該不區分大小寫
請在 Oracle SQL 中提出解決方案。
我試過這個查詢。如果“測驗字串”出現在同一行,則用于替換。它滿足不區分大小寫
SELECT REGEXP_REPLACE ('This is a Test string. This is a Test2 string',
'Test string',
'Hello World',
1,
0,
'i') FROM DUAL;
uj5u.com熱心網友回復:
您可以使用下面的正則運算式來獲得您想要的結果。
該運算式Test(\W*)string將匹配test,然后是任何非單詞字符(在本例中為空格和換行符),然后是單詞string。它與Test2 字串不匹配,因為 2 是單詞字符。括號是下一個引數所必需的。
Hello\1World將用Hello World代替測驗字串,但在 hello 和 world 之間放置 \1 將保留運算式匹配時測驗和字串之間的任何字符。
SELECT REGEXP_REPLACE ('This is a Test
string. This is a Test2 string',
'Test(\W*)string',
'Hello\1World',
1,
0,
'i') as result
FROM DUAL;
RESULT
__________________________________________________
This is a Hello
World. This is a Test2 string
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/407692.html
標籤:
