次の入力がある場合(引用符を除く):
「トランペッター白鳥の先祖代々の縄張り義務」
入力が次のように変換されるように、複数のスペースをすべて単一のスペースに折りたたむにはどうすればよいですか。
「トランペッター白鳥の先祖代々の縄張り義務」
これは、挿入/更新時のトリガー関数で使用されます (先頭/末尾のスペースは既に削除されています)。現在、入力に複数の隣接するスペースが含まれている場合は例外が発生しますが、挿入する前に単純に有効なものに変換したいと思います。
最善のアプローチは何ですか?PL/pgSQL の正規表現置換関数が見つからないようです。関数はありtext_replace
ますが、これは最大で 2 つのスペースを 1 つに折りたたむだけです (3 つの連続するスペースが 2 つに折りたたまれることを意味します)。この関数を何度も呼び出すのは理想的ではありません。