2

私のデータベース(PostgreSQL)には多くの文字列があります。例:

with mystrings as (
    select 'H e l l o, how are you'::varchar string union all
    select 'I am fine, t h a n k you'::varchar string union all
    select 'This is s t r a n g e text'::varchar string union all
    select 'With c r a z y space b e t w e e n characters'::varchar string 
)
select * from mystrings

単語の文字間のスペースを削除する方法はありますか? 私の例では、結果は次のようになります。

Hello, how are you
I am fine, thank you
This is strange text
With crazy space between characters

から始めましreplaceたが、文字間にスペースが入った単語がたくさんあり、すべてを見つけることさえできません。

意味のある文字を連結するのは難しいかもしれないので、連結候補のリストだけを取得する方が良いかもしれません。サンプル データを使用すると、結果は次のようになります。

H e l l o
t h a n k
s t r a n g e
c r a z y
b e t w e e n

このようなクエリは、2 つのスペースで区切られた 3 つ以上の個別の文字がある場合、string 内のすべての部分文字列を検索して返す必要があります (パターンが発生するまで継続し[space] individual characterます)。

He l l o how are you --> llo
H e l l o how are you --> Hello
C r a z y space b e t w e e n --> {crazy, between}
4

3 に答える 3

0

単語が存在する場合はオンライン辞書などのリソースを使用でき、スペースを削除する必要はありません。それ以外の場合はスペースを削除するか、存在するすべての文字列を配置する必要があるテーブルを使用して、そのテーブルで確認する必要があります。私の要点を得ました。

于 2013-04-04T10:44:26.493 に答える