НапримерЧтобы добавить белый символ между ведущим словом
- (.aa) становится (. Аа)
- (..agsb) становится (.. agsb)
НапримерЧтобы добавить белый символ между ведущим словом
Опираясь на @ ответ Альберта, этот метод не имеет проблемы пространства:
select regexp_replace('..agsb', '^(\.+)([^. ])', '\1 \2') as output
from dual;
Использование regexp_replace для этого требования.
select regexp_replace('..agsb',
'(\.+)(.+)',
'\1 \2') as output
from dual;
, что если уже есть пространство между точкой, например. ааб станет. aab, как остановить это – Sameer
Вместо того чтобы использовать джокер матчи для начала слова, вы можете явно соответствовать полному -stop \.
и слово (либо [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;
одна проблема сэр, если нет конечной точки, это добавление пробелов для других точек, например, abc.cd становится abc. cd, он должен оставаться abc.cd – Sameer
@Sameersetia, каковы допустимые условия для добавления пробелов после точек? Существует ли минимальное/максимальное количество допустимых точек? Что может предшествовать точкам? например «добавить пробел после двух или до четырех точек, когда точки находятся в начале строки или после открытой скобки». Вы должны быть точными, когда вы спросите, чтобы получить ответ, который соответствует вашему вопросу :) –
Извините, что не предоставил полную информацию – Sameer