2

私は現在、多くの国からのデータを処理する必要がある課題を抱えています。私の顧客は、許容できる文字のリストを私にくれました。それを呼びましょう:

'aber =*'

他のすべての文字は「_」に変更する必要があります。

私は私の国の特定の文字 (æøå) の変換を知っています。

select replace ('Ål', 'Å', 'AA') from dual;

しかし、文字ごとの比較で分割せずに、不要な「ノイズ」をすべて削除するにはどうすればよいでしょうか?

たとえば、2 と f は受け入れられたリストにないため、「bear*2 = 恐れ」は「bear*_ = _ear」になる必要があります。

4

1 に答える 1

0

オラクル 10g 以上。アプローチの 1 つとして、正規表現関数を使用できますregexp_replace()

select regexp_replace('bear*2 = fear', '[^aber =*]', '_') as res
  from dual


res
------------------------------
bear*_ = _ear

関数の詳細をご覧regexp_replace()ください。

于 2013-09-16T14:56:37.360 に答える