在主要单词之间添加白色字符

时间:2016-05-06 04:42:18

标签: oracle

例如

  • (。aa)变为(.aa)
  • (.. agsb)变为(.. agsb)

3 个答案:

答案 0 :(得分:1)

在@Albert的回应基础上,这种方法没有空间问题:

select regexp_replace('..agsb', '^(\.+)([^. ])', '\1 \2') as output
from dual;

答案 1 :(得分:0)

使用regexp_replace满足此要求。

   select regexp_replace('..agsb',
              '(\.+)(.+)',
               '\1 \2') as output
 from dual;

答案 2 :(得分:0)

您可以明确匹配句号\.和单词([A-Za-z]或更为允许,\w),而不是使用通配符匹配作为单词的开头。字符。像这样:

SELECT REGEXP_REPLACE( '..abc', '^(\.+)([A-Za-z])', '\1 \2' )
FROM   DUAL

如果它可以是其他主角(而不仅仅是句号),那么你可以这样做:

SELECT REGEXP_REPLACE( '--abc', '^([^A-Za-z]*[^ A-Za-z])([A-Za-z])', '\1 \2' )
FROM   DUAL;