2016-10-20 19 views
1

varcharからすべての句読点を削除するのに、REGEXP_REPLACEを使用しようとしています。REGEXP_REPLACEレッドシフトの句読点

regexp_replace(d.NAME, [.,\/#!$%\^&\*;:{}=\-_`~()]) 

をしかし、それは私にエラーを与える、と言って:私は、次を使用してい

Statement 1 is not valid. ERROR: syntax error at or near "."

私はすべての句読点を削除するには、この問題を解決するにはどうすればよいですか?

+1

'regexp_replace(d.NAME、 '[^ a-zA-Z]'、 '')'? –

+0

@vkpそれはまた、空白、数字、および 'ñ'のような文字を置き換えます。ほとんどの場合、これは受け入れられません。 – Laurel

答えて

2

まず、文字クラス内のダッシュは、それが最初か最後だ場合を除き、範囲を意味します...そうそこにそれを置く:

[.,\/#!$%\^&\*;:{}=\_`~()-] 

をそして、あなたは引用符でそれを配置する必要があり、かつほとんどの文字はエスケープする必要はありません:

regexp_replace(d.NAME, '[.,/#!$%^&*;:{}=_`~()-]') 
+0

チャームのように働いた、私の友人。正規表現には多くの良いリソースがあるようには思われません...あなたの出身のソースは何ですか? – acs254

関連する問題