replace和regexp_replace替换字符串

replace(字符串,要被替换的字符,替换后的字符)

如果替换后的内容为空,则变成删除作用了

replace(字符串,要被替换的字符)

 

regexp_replace函数

REGEXP_REPLACE(source, pattern, replace_str)

source: 对应字段

pattern:  正则表达式

replace_str:替换成什么

regexp_replace函数是replace函数的扩展函数,用于通过正则表达式来进行匹配替换,默认情况下,每次匹配到的正则,都替换为replace_str,返回的字符串与source字符集相同。如果source为非LOB类型,则返回varchar2数据类型,如果为LOB类型,则返回CLOB类型,该函数符合POSIX正则和Unicode正则。

  1. 替换字符串

     2.使用正则替换第一个字符是数字为a

select regexp_replace('123456788','^[0-9]','a') from dual

    3.替换最后一个字符是字母的为9

select regexp_replace('12345678p','[a-zA-Z]$','9') from dual

    4.把电话号码+86 13856427896,变换成(+86)138-5642-7896

 select regexp_replace('+86 13856427896','(\+[0-9]{2})( )([0-9]{3})([0-9]{4})([0-9]{4})','(\1)\3-\4-\5') as new_str from dual;

由此看来regexp_replace比replace功能更强大,我们可以用regexp_replace来替代replace

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值