regexp_replace
regexp_replace 介绍
regexp_replace(str, regexp, rep[, position]) - 将 str 中所有匹配 regexp 的子字符串替换为 rep。
参数:
-
str - 用于搜索正则表达式模式匹配的字符串表达式。
-
regexp - 表示正则表达式的字符串。正则表达式字符串应该是一个 Java 正则表达式。
从 Spark 2.0 开始,我们的 SQL 解析器不再对字符串文字(包括正则表达式模式)进行转义。例如,要匹配 "\abc",regexp 的正则表达式可以是 "^\abc$"。
有一个 SQL 配置 'spark.sql.parser.escapedStringLiterals',可以用来回退到 Spark 1.6 关于字符串文字解析的行为。例如,如果启用了此配置,可以匹配 "\abc" 的 regexp 是 "^\abc$"。
-
rep - 用于替换匹配子字符串的字符串表达式。
-
position - 一个正整数字面量,表示在 str 中开始搜索的位置。默认是 1。如果 position 大于 str 中的字符数,则结果是 str。
Examples:
> SELECT regexp_replace('100-200', '(\\d+)', 'num');
num-num
Since: 1.5.0