2

如何&在下面的字符串中替换:

'扩展了& REPLACE函数&的功能& by'

one,twothree分别。

最后的结果应该是:

extends the functionality one of the two REPLACE function three by
4

2 回答 2

1

(有点晚了,但是)使用一个 REPLACE_REGEXPR 的版本:

SELECT
    REPLACE_REGEXPR(
        '([^&]*)&([^&]*)&([^&]*)&([^&]*)'
        IN 'extends the functionality & of the & REPLACE function & by'
        WITH '\1one\2two\3three\4') "replace_regexpr"
FROM DUMMY
;

出去:

replace_regexpr                                                    |
-------------------------------------------------------------------|
extends the functionality one of the two REPLACE function three by |
于 2018-04-18T03:18:50.850 回答
0

您可以执行嵌套的 REPLACE_REGEXPR 函数,并始终将第一个(下一个)剩余匹配替换为不同的字符串。

SELECT REPLACE_REGEXPR
       ('&' IN REPLACE_REGEXPR 
               ('&' IN REPLACE_REGEXPR
                      ('&' IN 'extends the functionality & of the & REPLACE function & by'
                        WITH 'one' OCCURRENCE 1) 
                 WITH 'two' OCCURRENCE 1)  
         WITH 'three' OCCURRENCE 1) "replace_regexpr" 
FROM DUMMY;
于 2016-10-01T05:20:42.063 回答