单个配置单元查询以提取一个字符串

问题描述 投票:1回答:2

我有一个列数据“ testdata”,像这样[["NEW /abc/testapp/v1 POST/6.0",我想以"/abc/testapp/v1"

的形式检索输出我能够像这样从(/abc/testapp/v1 POST/6.0)开始检索数据

select regexp_extract(testdata,'^(.*?)(?:/)(.*)$', 2) from tablename;

但不确定如何在同一查询中删除POST / 6.0部分。有人可以在这里提供帮助吗?

sql hadoop hive hiveql
2个回答
0
投票
您可以从第一个斜杠开始,将所有内容带到下一个空格:

regexp_extract(testdata, '(/[^\\s]+)', 0)


0
投票
尝试以下任何一种方法

regexp_extract(testdata,'\\S+', 0, 2)

-

regexp_extract(testdata,'/\\S+', 0)

-

regexp_extract(testdata,'\\s+(\\S+)', 1)

© www.soinside.com 2019 - 2024. All rights reserved.