Обсуждение: How to remove a set of characters in text-columns ?
Hi, how can I remove a set of characters in text-columns ? Say I'd like to remove { } ( ) ' " , ; . : ! Of course I can chain replace ( replace ( replace ( replace ( ... , '' ) .... and replace the chars one by one against an empty string ''. There might be a more elegant way. Is there ? regards
On 06/30/2011 12:28 PM, Andreas wrote: > Hi, > how can I remove a set of characters in text-columns ? > Say I'd like to remove { } ( ) ' " , ; . : ! > Of course I can chain replace ( replace ( replace ( replace ( ... , '' > ) .... and replace the chars one by one against an empty string ''. > > There might be a more elegant way. > Is there ? > > > regards > Look at regexp_replace() http://www.postgresql.org/docs/9.0/static/functions-string.html http://www.postgresql.org/docs/9.0/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP Cheers, Steve
(anonymous) wrote: > how can I remove a set of characters in text-columns ? > Say I'd like to remove { } ( ) ' " , ; . : ! > Of course I can chain replace ( replace ( replace ( replace > ( ... , '' ) .... and replace the chars one by one against > an empty string ''. > There might be a more elegant way. > Is there ? Besides the regexp_replace() solution mentioned by Charlie and Steve, you can also use TRANSLATE(): | tim=# SELECT TRANSLATE('a{b''c"d!f', '{}()''",;.:!', ''); | translate | ----------- | abcdf | (1 Zeile) | tim=# Tim
Am 01.07.2011 04:17, schrieb Tim Landscheidt: > besides the regexp_replace() solution mentioned by Charlie > and Steve, you can also use TRANSLATE(): > > | tim=# SELECT TRANSLATE('a{b''c"d!f', '{}()''",;.:!', ''); nice, 2 solutions for 1 problem. :) my replace...replace... was a wee bit tedious ;) thanks a lot to you, Charlie and Steve :) regards Andreas