本文为您介绍如何使用REGEXP_REPLACE函数,用目标字符串替换指定字符串,并返回新的字符串。

使用限制

仅实时计算引擎VVR 3.0.0及以上版本支持REGEXP_REPLACE函数。

语法

VARCHAR REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)

入参

参数数据类型说明
strVARCHAR指定的字符串。
patternVARCHAR被替换的字符串。
replacementVARCHAR用于替换的目标字符串。
重要
  • 如果入参为NULL或者正则不合法时,则返回NULL。
  • 系统会将pattern和replacement的字符串解析成正则表达式,正则表达式使用Java Pattern进行处理,因此pattern和replacement的字符串需遵从Java Regex语法。

示例

  • 测试数据
    表 1. T1
    str1(VARCHAR)pattern1(VARCHAR)replace1(VARCHAR)
    2014-03-13-‘’
    ‘‘-‘‘
    2014-03-13''s
    2014-03-13(s
    100-200(\d+)num
  • 测试语句
    SELECT  REGEXP_REPLACE(str1, pattern1, replace1) as result
    FROM T1;
  • 测试结果
    result(VARCHAR)
    20140313
    s2s0s1s4s-s0s3s-s1s3s
    null
    num-num