Re: Making substrings uppercase - Mailing list pgsql-general

From Oliver Kohll - Mailing Lists
Subject Re: Making substrings uppercase
Date
Msg-id 6216DAAF-2DFC-4B8E-951E-FACBF5C29A9D@gtwm.co.uk
Whole thread Raw
In response to Re: Making substrings uppercase  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Making substrings uppercase  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-general
On 9 Sep 2013, at 21:03, Alvaro Herrera <alvherre@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

pgsql-general by date:

Previous
From: Giuseppe Broccolo
Date:
Subject: Re: plpgsql code doen't work
Next
From: Merlin Moncure
Date:
Subject: Re: Making substrings uppercase