例如
答案 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;