跳到主要内容

replace:字符串替换

速查结论

replace(str, search[, replace]) 是 Spark SQL 中用于将字符串中所有匹配的子串替换为指定内容的函数。

语法

replace(str, search[, replace])

参数说明

参数类型说明
strSTRING源字符串表达式
searchSTRING要搜索并替换的子字符串。如果在 str 中未找到 search,str 将原样返回
replaceSTRING可选。用于替换的字符串表达式。如果未指定或是空字符串,则从 str 中移除 search 而不替换为任何内容

示例

> SELECT replace('ABCabc', 'abc', 'DEF');
ABCDEF

常见报错与避坑指南

  • 大小写敏感replace 是大小写敏感的。例如 replace('ABCabc', 'abc', 'DEF') 只会替换小写的 abc,不会替换大写的 ABC。如需忽略大小写,请使用 regexp_replace 配合 (?i) 标志。
  • replace 参数为空字符串:当 replace 参数为空字符串 '' 时,函数会删除所有匹配的 search,相当于将 search 替换为空。这与不传 replace 参数的行为相同。
  • 无匹配时返回原字符串:如果 search 在 str 中未找到,函数返回原字符串 str,不会报错也不会返回 NULL。

Since: 2.3.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看