regexp_replace()、translate()、replace()对比

Hive中并无replace函数,只有两个类似的函数来实现字符串的替换功能

regexp_replace()

语法:regexp_replace(string A,string B,string C)
返回值:string
说明:将字符串A中的符合Java正则表达式的B的部分替换为C

使用regexp_replace()统计字符串中字符出现的个数

统计字符串:“AHe AHe”中“He”出现的次数

1、先计算出总体字符串的长度
在这里插入图片描述
2、将我们需要计算的字符串剔除来(但是这里在做替换的时候,如果最后的空格给了一个空格,那么之后的结果也要做一些简单的变换
在这里插入图片描述
3、两者进行相减
在这里插入图片描述

如果给了一个空格
就需要这样进行变换
在这里插入图片描述

sql中的translate()与replace()的对比

replace与translate都具备替换功能
只不过replace针对的是字符串,而translate针对的是单个字符

translate()

在这里插入图片描述
可以看到这个函数的作用是单个字符的替换,示例中a与g对应,b与h对应,剩下的c没有对应的,自动被舍弃
可以使用该函数对字符串中的某段字符串进行剔除
在这里插入图片描述

replace()

在hivesql中并没有replace的用法,但replace的用法是将字符串做整体的变换

官方语法:
REPLACE ( string_expression , string_pattern , string_replacement )
参数含义:
string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。
string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 (’’)。
string_replacement 替换字符串。string_replacement 可以是字符或二进制数据类型。
返回类型:
如果其中的一个输入参数数据类型为 nvarchar,则返回 nvarchar;否则 REPLACE 返回 varchar。
如果任何一个参数为 NULL,则返回 NULL。
最直接、最直白的意思:REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str

感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊帅和和。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值