SELECT regexp_replace('FRAME WINDOW MASTER. 160.055-44.9 ADULT Z68.41', '[^A-Z0-9%+/.+ '']', ' ')
FROM DUAL;
私が得る結果は
FRAME WINDOW MASTER. 160.055 44.9 ADULT
しかし、私は結果が欲しい
FRAME WINDOW MASTER 160.055 44.9 ADULT
(ピリオドなしのマスター)
SELECT regexp_replace('FRAME WINDOW MASTER. 160.055-44.9 ADULT Z68.41', '[^A-Z0-9%+/.+ '']', ' ')
FROM DUAL;
私が得る結果は
FRAME WINDOW MASTER. 160.055 44.9 ADULT
しかし、私は結果が欲しい
FRAME WINDOW MASTER 160.055 44.9 ADULT
(ピリオドなしのマスター)
これでうまくいくでしょうか?
"[^A-Z0-9%+/.+ '']|\.\s"
何が欲しいのか正確にはわかりませんが、必要な出力が得られます。
編集これが修正です:
[^A-Z0-9%+/.+ '']|\.(\s|$)
このように、文字の後に一致さ.
せてグループを置き換えることができます。
正規表現: (\D)\.
と置き換えます\1[space]
このように、2 つの文字を一致さ.
せてグループを置き換えることができます。
正規表現: (\D)\.(\D)
と置き換えます\1[space]\2
look around
このようなアサーションを使用することもできます。Oracleでのサポートについては懐疑的です。
正規表現: (?<=\D)\.(?=\D)
と置き換えます[space]