Hive截取指定位子或字符后面的数据

这篇具有很好参考价值的文章主要介绍了Hive截取指定位子或字符后面的数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hive截取指定字符后面的数据

一、规则

1、样例数据

Hive.Spark.Flink.Hadoop
Java.Python.Scala

2、题目要求

截取最后一个’.'后面的数据

3、结果预览

Hadoop
Scala

二、思路

方法1

使用substr()函数,在通过instr()函数找到结束位子,为了保证每次截取的都是最后一个’.'后面的数据,这里使用字符串反转函数reverse()。

select reverse(substr(reverse('Hive.Spark.Flink.Hadoop'),0,instr(reverse('Hive.Spark.Flink.Hadoop'),'.')-1));

select reverse(substr(reverse('Java.Python.Scala'),0,instr(reverse('Java.Python.Scala'),'.')-1));

答案:
Hive截取指定位子或字符后面的数据

方法2

使用regexp_extract()正则匹配函数。
regexp_extract()函数介绍:
1、语法
regexp_extract(string subject, string pattern, int index)
2、返回值
string
3、说明
将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。

  1. 第一参数: 要处理的字段
  2. 第二参数: 需要匹配的正则表达式
  3. 第三参数:
    0 是显示与之匹配的整个字符串
    1 是显示第一个括号里面的
    2 是显示第二个括号里面的字段…
    注意,在有些情况下要使用转义字符(双斜杠了‘\’)。
select regexp_extract('Hive.Spark.Flink.Hadoop','.*\\.(.*)',1);

select regexp_extract('Java.Python.Scala','.*\\.(.*)',1);

答案:
Hive截取指定位子或字符后面的数据

方法3

使用split()分割函数,在配合字符串反转函数reverse(),保证每次截取的都是最后一个’.'后面的数据。

select reverse(split(reverse('Hive.Spark.Flink.Hadoop'),'\\.')[0]);

select reverse(split(reverse('Java.Python.Scala'),'\\.')[0]);

答案:
Hive截取指定位子或字符后面的数据文章来源地址https://www.toymoban.com/news/detail-412390.html

到了这里,关于Hive截取指定位子或字符后面的数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java截取字符串两个符号之间的数据

    可以使用Java中的正则表达式来截取两个符号之间的数据。以下是一个示例代码,可以截取字符串中两个指定符号之间的数据: 这个方法接收三个参数:待截取的字符串 str,起始符号 startChar,结束符号 endChar。它首先将 startChar 和 endChar 拼接成一个正则表达式,然后使用 jav

    2024年02月11日
    浏览(38)
  • 【数据结构与算法】杨辉三角,相同字符的截取以及扑克牌

    ✨个人主页:bit me ✨当前专栏:数据结构 ✨每日一语:不要等到了你的人生垂暮,才想起俯拾朝花,且行且珍惜。 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1

    2024年02月03日
    浏览(43)
  • shell 拼接字符串,出现后面的字符串覆盖前面的字符串问题

    shell 拼接字符串语法很简单两个参数并排前后写上接口,如下 str1=www str2=bbb s t r 1 str1 s t r 1 str2 的结果未 wwwbbb 有时会出现如下问题: 在拼接字符串的时候,后面的字符串将前面的字符串覆盖了。 shell的内容如下: #!/bin/bash date_str=“ date +%Y%m%d ” echo $date_str python_file_name=\\\" 1

    2024年02月09日
    浏览(50)
  • C语言之删除字符串中间和后面的*

    采用flag的控制方式,有效控制分支。

    2024年02月19日
    浏览(42)
  • 字符串后面补最短长度的字符,使其整体成回文字符串(java)

    给定一个字符串str,只能在str的后面添加字符,想让str整体变成回文串,返回至少要添加几个字符 首先介绍下manacher 算法: Manacher 算法是一种线性时间复杂度的求解最长回文子串的算法。它的核心思想是利用已知回文信息,避免重复计算。 Manacher 算法的基本思想是通过预处

    2024年02月16日
    浏览(35)
  • 从视频中截取指定帧图片

    前言: 我们在很多时候需要对视频文件进行分析,或者对视频产生缩略图。因此视频截取技术必不可少。

    2024年01月24日
    浏览(31)
  • [笔记] ‘\0‘的含义:任何字符串后面都会有的结束符。

    参考博客:C语言中 \\0 代表什么 摘录: ‘\\0’ 是字符串的结束符,任何字符串之后都会自动加上’\\0’。如果字符串末尾少了‘\\0’字符,则其在输出时可能会出现乱码问题。 字符串总是以“\\0”作为串的结束符;因此当把一个字符串存入一个数组时,也把结束符“\\0”存入数

    2024年02月06日
    浏览(33)
  • Hive-时间日期&trunc-日期与数字截取函数

    一、时间日期函数 1、获取当前时间 2、日期转时间戳 3、时间戳转日期 二、trunc - 日期与数字截取函数 1、日期截取 2、数字截取

    2024年02月11日
    浏览(44)
  • 统计ceph 指定存储池里面的rbd/已分配rbd 总容量小脚本

    #!/bin/bash if [ $# != 1 ]; then         echo \\\"USAGE: $0 pool_name\\\"         exit 1; fi sum=0 x=0.001 for i in `rbd ls $1` do         s=`rbd info $1/$i | grep size |cut -d\\\' \\\' -f2`         u=`rbd info $1/$i | grep size |cut -d\\\' \\\' -f3`         if [ \\\"$u\\\" == \\\"KiB\\\" ]; then                 s=`echo $(echo \\\"$s*$x*$x\\\"|bc)`            

    2024年04月15日
    浏览(43)
  • MySQL 中的字段截取与字符串截取方法详解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在 MySQL 数据库中,有时我们需要截取字段或字符串的一部分进行查询、展示或处理。本文将介绍 MySQL 中常用的字

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包