Oracle中刪除指定字串的函式

2021-10-24 15:59:05 字數 920 閱讀 2737

有乙個需求對字串內容刪除多個指定的關鍵字元

例如:需刪除字串中包含分公司, 有限, 實業, 集團,公司,股份多個字串

可以使用多個replace函式來把這裡字串替換成空,但是這樣做不是很美觀,所以我準備寫乙個函式來實現這個功能

建立函式:

create

orreplace

function substr3(v_char varchar2)

return varchar2 is

v_result varchar2(

200)

; v_com varchar2(50)

;--設定陣列

type type_array is varray(50)

of varchar2(50)

; v_name type_array;

begin

--把輸入值賦給結果值

v_result := v_char;

--定義需要擷取的目標字串

v_name := type_array(

'分公司'

,'有限'

,'實業'

,'集團'

,'公司'

,'股份');

--遞迴迴圈刪除目標字串

for v_com in1.

. v_name.count loop

v_result :=

replace

(v_result, v_name(v_com),''

);endloop

;--返回結果

return v_result;

end;

測試函式是否能夠使用

select substr3(

)from dual;

刪除字串中的指定字元

本題要求實現乙個刪除字串中的指定字元的簡單函式。函式介面定義 void delchar char str,char c 其中char str是傳入的字串,c是待刪除的字元。函式delchar的功能是將字串str 現的所有c字元刪除。裁判測試程式樣例 include define maxn 20 vo...

字串刪除指定字元

一 演算法描述 給定乙個字串和模式字串,要求將出現在模式字串的字元在原字串中刪除。二 演算法思路 從題面理解,常規思路是遍歷原字串和模式字串,將原字串的每個字元和模式串的每個字元比較,如果比較相等,則不輸出,其時間複雜度為o m n m和n各自為字串和模式字串的長度 另一種高效的思路是以空間換時間,...

c 字串中刪除指定的字元

string沒有直接的刪除指定字元的方法,可以利用find和erase或者substr實現。string str string target int pos str.find target n target.size str str.erase pos,n 若包含多個特定字元,則迴圈刪除即可。注意f...