2017-08-17 19 views
2

我对每一行都有多个ID,我想提取每行中某些文本之后的数字。以下可能是我在id列中的值。在配置单元中的字符串中的某些字符后提取文本

test123; tghy876; 8906; TT-1234

best123; tghy8656; 88706; TT-5678

我希望输出只返回tt-之后的数字,所以我的输出应该如下。

什么蜂房代码应该被用来实现这一目标?

回答

0

能够使用多个拆分。

分割(分割(ID, “TT - ”)[1], “;”)[0]

2

使用正则表达式 - 返回的任何数量的后“的数字的第一组; 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> 
相关问题