我试图在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
答案 0 :(得分:0)
TRIM(regexp_replace ('FreddyFox', '([A-Z])', ' \1' ))
答案 1 :(得分:0)
TRIM使您可以从字符串中修剪前导或尾随字符(或两者)。如果trim_character或trim_source是字符文字,则必须将其用单引号括起来。默认是两者。
regexp_replace ('FreddyFox', '^([A-Z])', ' \1')