Ето един стар трик, който не изисква регулярни изрази или сложни функции.
Можете да използвате функцията за замяна 3 пъти, за да обработвате произволен брой интервали, като така:
REPLACE('This is my long string',' ','<>')
става:
This<>is<><><><>my<><><>long<><><><>string
След това заменяте всички поява на '><' с празен низ '', като го обвивате в друга замяна:
REPLACE(
REPLACE('This is my long string',' ','<>'),
'><',''
)
This<>is<>my<>long<>string
След това накрая една последна замяна преобразува '<>' обратно в единичен интервал
REPLACE(
REPLACE(
REPLACE('This is my long string',
' ','<>'),
'><',''),
'<>',' ')
This is my long string
Този пример е създаден в MYSQL (поставете SELECT отпред), но работи на много езици.
Имайте предвид, че винаги имате нужда само от 3-те функции за замяна, за да обработвате произволен брой знаци, които трябва да бъдат заменени.