我正在尝试替换文本中的某些单词。但是,如果该词是 url 的一部分,则不希望该词被替换。例如:技术一词。它在两个地方都替换了(包括 url)。

select regexp_replace('Part of the Technical Network Group https://technical.com/sites/',
                      'technical','tech',1,0,'i')
  from dual

输出:
Part of the tech Network Group https://tech.com/sites/

预期输出:
Part of the tech Network Group https://technical.com/sites/

最佳答案

分两步完成。

首先,如果单词出现在单词之间,则第二,如果单词是句子的第一个单词。

select
      regexp_replace(regexp_replace('technical Part of Technical Group https://technical.com/sites/',
                     ' technical',
                     ' tech',1,0,'i'), 'technical ', 'tech ',1,0,'i')
  from dual

希望这能解决您的问题。

关于sql - 如何在 Oracle 中只替换文本的某些部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58128197/

10-16 07:24