On 9 Sep 2013, at 21:03, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote:

> select string_agg(case when words like '*%*' then upper(btrim(words, '*')) 
> else words end, ' ')
> from regexp_split_to_table('The *quick* *brown* fox jumped over the *lazy* 
> dog', ' ') as words;
> 
>                  string_agg                  
> ----------------------------------------------
> The QUICK BROWN fox jumped over the LAZY dog

That's quite elegant. In the end I exported and used PERL, as some of my 
'words' had spaces (they were ingredients like monosodium glutamate), but you 
could probably do a more complex regex in regexp_split_to_table to cope with 
that, or use pl/perl as previously suggested.

Thanks
Oliver
www.agilebase.co.uk

Reply via email to