これは、正規表現や複雑な関数を必要としない古いトリックです。
次のように、置換機能を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つの置換関数だけであることに注意してください。