Given a string with certain words surrounded by stars, e.g.
The *quick* *brown* fox jumped over the *lazy* dog
can you transform the words surrounded by stars into uppercase versions, i.e.
The QUICK BROWN fox jumped over the LAZY dog
Given text in a column 'sentence' in table 'sentences', I can mark/extract the words as follows:
SELECT regexp_replace(sentence,'\*(.*?)\*','STARTUPPER\1ENDUPPER','g') FROM sentences;
but my first attempt at uppercase transforms doesn't work:
select regexp_replace(sentence,'\*(.*?)\*','' || upper('\1'),'g') from sentences;
I thought of using substring() to split the parts up after replacing the stars with start and end markers, but that would fail if there was more than one word starred.