On Tue, Sep 10, 2013 at 5:51 AM, Oliver Kohll - Mailing Lists <oliver.lists@xxxxxxxxxx> wrote: > On 9 Sep 2013, at 21:03, Alvaro Herrera <alvherre@xxxxxxxxxxxxxxx> 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. IMO, pl/perl is the way to go. Being able to use postgres functions to transform matched regex expressions would be just wonderful although I wonder how fast it would be or if it's even possible. merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general