给定一个字符串,其中某些单词被星号包围,例如
The *quick* *brown* fox jumped over the *lazy* dog
你能把星星包围的单词转换成大写版本吗,即
QUICK BROWN 狐狸跳过 LAZY 狗
给定表“句子”中“句子”列中的文本,我可以按如下方式标记/提取单词:
SELECT regexp_replace(sentence,'\*(.*?)\*','STARTUPPER\1ENDUPPER','g') FROM sentences;
但我第一次尝试大写转换不起作用:
select regexp_replace(sentence,'\*(.*?)\*','' || upper('\1'),'g') from sentences;
我想在用开始和结束标记替换星星后使用 substring() 来拆分部分,但如果加星标的单词不止一个,那将失败。