hive字符串的分割,截取,替换与正则匹配。

hive字符串的分割,截取,正则提取与替换。

一,字符串的分割。
split函数(分割字符串)
语法: split(string str, string pat)
返回值: array
说明: 按照pat字符串分割str,会返回分割后的字符串数组
举例:
1.基本用法

hive> select split('abcdef', 'c') from test;

["ab", "def"]

2.截取字符串中的某个值

hive> select split('abcdef', 'c')[0] from test;

ab

3.特殊字符
如正则表达式中的特殊符号作为分隔符时,需做转义 (前缀加上)

 hive> select split('ab_cd_ef', '\_')[0] from test;
 
ab

hive> select split('ab?cd_ef', '\\?')[0] from test;

ab

如果是在shell中运行,则(前缀加上\)

hive -e "select split('ab?cd_ef', '\\\\?')[0] from test" 

注:有些特殊字符转义只需\,而有些需\\,eg.?。可能在语句翻译过程中经历经历几次转义。

二,字符串的截取。

substr函数格式 (俗称:字符截取函数)

格式1: substr(string string, int a, int b);

格式2:substr(string string, int a) ;

解释:

格式1:
    1、string 需要截取的字符串 
    2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
    3、b 要截取的字符串的长度

格式2:
    1、string 需要截取的字符串
    2、a 可以理解为从第a个字符开始截取后面所有的字符串。

当有三个参数时。

1、select substr('HelloWo
  • 15
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值