Oracle正则表达式的字符串

问题描述:

Oracle版本中删除长度为1的字母标记之间的空间:11.2Oracle正则表达式的字符串

我是新来使用正则表达式的,需要一些帮助,想出正确的REGEXP_REPLACE下面我们要求解释。

要求:删除字符串中长度为1的字母标记之间的空格。

实施例1:

"The I B M Corporation N Y US" 

......应地转化为:

"The IBM Corporation NY US" 

实施例2:

"The P N CD FUND of J P R M" 

......应地转化为:

"The PN CD FUND of JPRM" 

这似乎为你工作的例子:

SELECT regexp_replace('The I B M Corporation N Y US', '([[:alpha:]]{2} [[:alpha:]]{1,1}) | ([[:alpha:]]{1,1})([[:alpha:]]{2})| ([[:alpha:]]{1,1}$)| ([[:alpha:]]{1,1}) ', '\1\2\3\4\5') as eg_1, 
     regexp_replace('The P N CD FUND of J P R M', '([[:alpha:]]{2} [[:alpha:]]{1,1}) | ([[:alpha:]]{1,1})([[:alpha:]]{2})| ([[:alpha:]]{1,1}$)| ([[:alpha:]]{1,1}) ', '\1\2\3\4\5') as eg_2 
    FROM dual; 

我用这个页面的帮助:regexp_replace

我希望它可以帮助你!

可悲的是,我不知道甲骨文正则表达式的语法,但如果你有正则表达式转换为另一种的能力,那么你想要什么,如果有Regex.Replace()在C#方法函数用这一个做

(?<=\s\w)\s(?!\w{2,})