【发布时间】:2020-05-01 09:15:51
【问题描述】:
我的列中有如下所示的数据:
Countryside_Video_-_A18-49_Pub_-Q3-_Flight_7_18_49_BOTH
乡村视频 - M18-25 验证 -Q4 - 航班 1
PremiumBrand_2019_Upfront_Video_-_W18-49_Validated_-_Q4_Flight_1_18_49_FEMALE
环游世界 - W25-54 验证 - Q3 25-54_FEMALE
我需要从每个字符串中提取年龄和性别值:
- A18-49
- M18-25
- W18-49
- W25-54
这很棘手,因为字母 A、M、F 和数字范围之间可以有任意数量的组合。这些字母表示年龄、男性或女性。数字范围是年龄范围。
通过一些谷歌搜索,看起来我可以使用 regexp_extract 函数,但我是 Hive 的新手。对此的任何帮助将不胜感激!
【问题讨论】:
-
尝试通用方法来查找和匹配记录 select * , regexp_extract(id1, '([AZ]+[0-9]{2}.[0-9]{2})', 1) 从 temp3;
标签: sql hive regexp-replace