2014-09-23 79 views
0

替換字符串中的部分您好我有一個像這樣在oracle中的字符串:使用REGEXP_REPLACE

temp_a, temp_b, temp_c 

我想要得到的是:

e.temp_a, e.temp_b, e.temp_c 

所以我想提出一個「e。 「在此字符串
每一個部分之前,我搜索互聯網,我發現的例子來分割字符串或替換字符串簡單,但沒有指導我通過我的問題

回答

1
select regexp_replace('temp_a, temp_b, temp_c', 
       '([a-zA-Z0-9_]+)(,?)', 
       'e.\1\2') from dual; 

這應該工作。

+0

Upvoted因爲它的工作原理和它的要求。我同意帕特里克的觀點,在這裏沒有必要使用正則表達式,並且每當有合理的可讀選擇時,我都傾向於避免它們(在Oracle中)。 – Bacs 2014-09-23 16:33:42

1

我只注意到你特別要求的正則表達式,但對於這是非常值得,我可能會做這樣的:

rtrim(replace('e.'||your_string, ', ', ', e.'), 'e.') 
+0

不,我希望它是通用的。這只是一個例子 – Nianios 2014-09-23 14:07:12

+0

認爲這太容易了。 :)泛型以什麼方式雖然?什麼是恆定的,什麼不是?總是逗號分隔值,總是「e」。字首? – Bacs 2014-09-23 14:09:29

+0

總是用逗號分隔,總是e。字首。這些詞將改變 – Nianios 2014-09-23 14:11:17

相關問題