regex - 如何在 Hive 中构建正则表达式以获取字符串,直到第 N 次出现分隔符
问题描述
我在 Hive 中有一些示例数据
select "abc:def:ghi:jkl" as data
union all
select "jkl:mno:23ar:stu:abc:def:ghi:7345" as data
我想提取字符串直到第 3 个冒号,以便得到输出
abc:def:ghi
jkl:mno:23ar
我想保持 N 作为变量,以便我可以根据需要缩小输出文本。我如何在 Hive 中执行此操作?
解决方案
Select substring_index('abc:def:ghi:jkl',':',3) as data
Union all
Select substring_index('jkl:mno:23ar:stu:abc:def:ghi:7345',':',3) as data;
推荐阅读
- javascript - Discordjs - 使用 fs.watchFile 事件创建频道
- javascript - 反应firebase auth displayName返回null
- google-cloud-platform - 被意外删除的存储桶,现在得到这个错误
- jenkins - 无法通过詹金斯向 gerrit 服务器报告 +1
- python - 比较像素值以替换值
- flutter - Flutter使用streambuilder改变背景颜色
- python - 如何在每个页面中向 Django 发送上下文而不从所有视图发送
- python - 在 Windows 中安装 MobSF 时构建错误
- reactjs - 使用反应(.jsx)中的函数显示来自另一个组件的弹出窗口?
- android - 为什么 MutableLiveData setValue 在从 retrofit2.Callback 获得响应时不起作用