我对每一行都有多个ID,我想提取每行中某些文本之后的数字。以下可能是我在id列中的值。在配置单元中的字符串中的某些字符后提取文本
test123; tghy876; 8906; TT-1234
best123; tghy8656; 88706; TT-5678
我希望输出只返回tt-之后的数字,所以我的输出应该如下。
什么蜂房代码应该被用来实现这一目标?
我对每一行都有多个ID,我想提取每行中某些文本之后的数字。以下可能是我在id列中的值。在配置单元中的字符串中的某些字符后提取文本
test123; tghy876; 8906; TT-1234
best123; tghy8656; 88706; TT-5678
我希望输出只返回tt-之后的数字,所以我的输出应该如下。
什么蜂房代码应该被用来实现这一目标?
能够使用多个拆分。
分割(分割(ID, “TT - ”)[1], “;”)[0]
使用正则表达式 - 返回的任何数量的后“的数字的第一组; TT-”
select regexp_extract(src_string,'\; TT-(\\d+)',1);
演示:
hive> select regexp_extract('best123\; tghy8656\; 88706\; TT-5678','\; TT-(\\d+)',1);
OK
5678
Time taken: 0.056 seconds, Fetched: 1 row(s)
hive>