本文为您介绍如何使用REGEXP_REPLACE函数,用目标字符串替换指定字符串,并返回新的字符串。
使用限制
仅实时计算引擎VVR 3.0.0及以上版本支持REGEXP_REPLACE函数。
语法
VARCHAR REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)
入参
参数 | 数据类型 | 说明 |
str | VARCHAR | 指定的字符串。 |
pattern | VARCHAR | 被替换的字符串。 |
replacement | VARCHAR | 用于替换的目标字符串。 |
重要
如果入参为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