详情页标题前

阿里云云原生大数据计算服务 MaxComputeREGEXP_REPLACE-云淘科技

详情页1

将source字符串中第occurrence次匹配pattern的子串替换成指定字符串replace_string后返回结果字符串。

命令格式

string regexp_replace(string , string , string [, bigint ])

参数说明

  • source:必填。STRING类型,待替换的字符串。

  • pattern:必填。STRING类型常量或正则表达式。待匹配的模型。更多正则表达式编写规范,请参见正则表达式规范。pattern为空串时返回报错。

  • replace_string:必填。STRING类型,将匹配pattern的字符串替换后的字符串。

  • occurrence:可选。BIGINT类型常量,必须大于等于0,表示将第occurrence次匹配的字符串替换为replace_string,为0时表示替换所有匹配的子串。为其他类型或小于0时,返回报错。默认值为0。

返回值说明

返回STRING类型。返回规则如下:

  • 当引用不存在的时,不进行替换。

  • 如果replace_string值为NULL且pattern有匹配,返回NULL。

  • 如果replace_string值为NULL但pattern不匹配,返回原字符串。

  • source、pattern或occurrence值为NULL时,返回NULL。

使用示例

  • 示例1:将123.456.7890字符串中与([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})匹配的所有字符串替换为(\1)\2-\3。命令示例如下。

    --返回(123)456-7890。
    select regexp_replace('123.456.7890', '([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})',
    '(\1)\2-\3', 0);
  • 示例2:将abcd字符串中与指定规则匹配的字符串进行替换。命令示例如下。

    --返回a b c d。
    select regexp_replace('abcd', '(.)', '\1 ', 0);
    --返回a bcd。
    select regexp_replace('abcd', '(.)', '\1 ', 1);
    --返回abcd。
    select regexp_replace('abcd', '(.)', '\2', 1);
  • 示例3:假设表url_set中列名为url的数据格式为www.simple@xxx.com,且每行的xxx完全不同,现需要将列中www后的所有内容都替换掉。命令示例如下。

    --返回结果为wwwtest。
    select regexp_replace(url,'(www)(.*)','wwwtest',0) from url_set;
  • 示例4:任一输入参数为NULL。命令示例如下。

    --返回NULL。
    select regexp_replace('abcd', '(.)', null, 0);
  • 示例5:引用不存在的组。命令示例如下。

    --因为pattern中只定义了一个组,引用的第二个组不存在。
    --请避免这样使用,引用不存在的组的结果未定义。
    regexp_replace("abcd", "(.*)(.)$", "\2", 0) = "d"
    --因为在pattern中没有组的定义,所以\1引用了不存在的组,
    --请避免这样使用,引用不存在的组的结果未定义。
    regexp_replace("abcd", "a", "\1", 0) = "bcd"

相关函数

REGEXP_REPLACE函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158844.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云ECS云服务器GetInstanceConsoleOutput-云淘科技

    调用GetInstanceConsoleOutput获取一台实例的系统命令行输出,数据以Base64编码后返回。 接口说明 云服务器ECS是虚拟化的云上服务,无法接入显示设备,也无法手动截屏。但是阿里云缓存了实例最近一次启动、重启或者关机时的系统命令行输出,您可以调用GetInstanceConsoleOutput获取。 已停售的实例规格无法获取系统命令行输…

    阿里云服务器 2023年12月9日
  • 阿里云RDS数据库UUID生成器(sequential-uuids)-云淘科技

    RDS PostgreSQL支持Sequential UUID generators插件,该插件提供顺序模式的UUID生成。 前提条件 RDS PostgreSQL实例版本满足以下要求: 实例大版本为PostgreSQL 10或以上。 内核小版本为20220228以上。查看和升级内核小版本,请参见升级内核小版本。 您的账号类型必须为高权限账号。您可以在RDS…

    阿里云数据库 2023年12月9日
  • 阿里云RDS数据库DescribeDiagnosticReportList – 查询诊断报告列表-云淘科技

    暂无替代API,请关注后续API最新发布。 该接口用于查询诊断报告列表。 接口说明 说明 此API接口已下线。调试您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息当前API暂无授权信息透出。请求参数名称类型必填描述示例值DBInstanc…

    阿里云数据库 2023年12月9日
  • 阿里云RDS数据库DescribeMetaList – 查询备份集的库表信息-云淘科技

    该接口用于查询目标备份集中可恢复的库表信息。 接口说明 适用引擎 RDS MySQL 说明 仅支持MySQL 8.0、5.7、5.6高可用版(本地SSD盘)。 功能说明 在使用RestoreTable接口进行MySQL单库单表恢复之前,您可以通过本接口查询可恢复的库表信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云负载均衡DeleteLoadBalancer – 删除负载均衡实例-云淘科技

    删除指定的负载均衡实例。 接口说明 DeleteLoadBalancer接口属于异步接口,即系统返回一个请求ID,但该应用型负载均衡实例尚未删除成功,系统后台的删除任务仍在进行。您可以调用GetLoadBalancerAttribute查询应用型负载均衡实例的删除状态: 当应用型负载均衡实例处于Deleting状态时,表示应用型负载均衡实例正在删除中。 当查…

    阿里云负载均衡 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。