2015-10-20 52 views
0

可以在任何一個幫助我repalce或刪除使用替換或正則表達式替換功能設置的行,什麼將是查找和替換替換或刪除文字的複式行Oracle存儲過程

行字符串模式從下面的文字代替

</properties> 

<?xml version="1.0"?> 

<properties> 

文本

<COLLECT_PARALLELGRAMMAR1>global.grxml</COLLECT_PARALLELGRAMMAR1> 

    <COLLECT_INPUTMODES>voice dtmf</COLLECT_INPUTMODES> 

    <CONF_INPUTMODES>dtmf</CONF_INPUTMODES> 

</ROW> 

</properties> 

<?xml version="1.0"?> 

<properties> 

<ROW> 

    <MODULE_NAME>main_menu_phone</MODULE_NAME> 

    <MODULE_DESCRIPTION>Main Menu for Customers with silver membership</MODULE_DESCRIPTION> 

    <MODULE_TYPE>phone</MODULE_TYPE> 

回答

1

如果是純文本沒有XML,那麼你可以簡單地使用REPLACE

例如,

SQL> WITH DATA AS 
    2 (SELECT ' 
    3 <COLLECT_PARALLELGRAMMAR1>global.grxml</COLLECT_PARALLELGRAMMAR1> 
    4 <COLLECT_INPUTMODES>voice dtmf</COLLECT_INPUTMODES> 
    5 <CONF_INPUTMODES>dtmf</CONF_INPUTMODES> 
    6 </ROW> 
    7 </properties> 
    8 <?xml version="1.0"?> 
    9 <properties> 
10 <ROW> 
11 <MODULE_NAME>main_menu_phone</MODULE_NAME> 
12 <MODULE_DESCRIPTION>Main Menu for Customers with silver membership</MODULE_DESCRIPTION> 
13 <MODULE_TYPE>phone</MODULE_TYPE>' str 
14 FROM dual 
15 ) 
16 SELECT REPLACE(str, '</properties> 
17 <?xml version="1.0"?> 
18 <properties>', '') new_str 
19 FROM data; 

NEW_STR 
-------------------------------------------------------------------------------------------- 

<COLLECT_PARALLELGRAMMAR1>global.grxml</COLLECT_PARALLELGRAMMAR1> 
<COLLECT_INPUTMODES>voice dtmf</COLLECT_INPUTMODES> 
<CONF_INPUTMODES>dtmf</CONF_INPUTMODES> 
</ROW> 

<ROW> 
<MODULE_NAME>main_menu_phone</MODULE_NAME> 
<MODULE_DESCRIPTION>Main Menu for Customers with silver membership</MODULE_DESCRIPTION> 
<MODULE_TYPE>phone</MODULE_TYPE> 
+0

感謝UR suggestion..but這不是text..it一個xml文件獲得存儲在CLOB類型 – Anirudh

+0

@Anirudh普通不過你剛纔提到「*行文字* 「在你的問題和主題標題。你沒有提到它是** XML **。 –

+0

sorry.initially我想用XML作爲text.But它得到存儲在clob中,我需要替換字符串的模式,我上面提到然後把clob內容到一個文件 – Anirudh