regexp_replace

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