在Oracle中的Capital Letter之前添加空格

时间:2016-04-14 18:44:57

标签: oracle

我试图在oracle中的大写字母前插入一个空格。我认为使用regexp_replace会很容易,但我似乎无法对我要替换的角色进行适当的反向引用。

select trim(regexp_replace ('FreddyFox', '[A-Z]', ' \1' )) from dual;

Result: '\1reddy \1ox'

我尝试了多种后向引用变体,但我似乎找不到满足Oracle的东西。

我确实看过多个SO答案,但我无法弄清楚出了什么问题。 例如regexp_replace: insert a space in a string if not already present

2 个答案:

答案 0 :(得分:0)

TRIM(regexp_replace ('FreddyFox', '([A-Z])', ' \1' ))

答案 1 :(得分:0)

TRIM使您可以从字符串中修剪前导或尾随字符(或两者)。如果trim_character或trim_source是字符文字,则必须将其用单引号括起来。默认是两者。

regexp_replace ('FreddyFox', '^([A-Z])', ' \1')