我有以下结构的URL:
https://pinball.globalzone.com/en_US/home?tic=1-dj33jl-dj33jl&goToRegisterNow=true
我现在要做的是缩短url,以便能够对相似的url模式进行分组和计数。例如,我想退出 https://
,区域设置 en_US/
还有代币 ?tic=1-dj33jl-dj33jl
剩下的留着。结果如下:
pinball.globalzone.com/home&goToRegisterNow=true
我试图通过使用 regexp_extract
但这种方法只允许我提取总是在同一位置的特定片段。
更大的问题是,我要剪切的部分要么是基于单个/规则的(即区域设置总是包含两个小写和两个大写字母,用下划线分隔),要么是没有保证长度的唯一部分(即标记)。
此外,我的结果集还将包含具有不同模式的URL,其中我只想剪切现有部分(例如。 https://pinball.globalzone.com/en_US/forgottenPassword
,其中 en_US/
必须切除)。
如果我必须快速解决这个问题,我只需要获取url并编写一些java或r代码,将get url拆分成若干部分,并在数组中迭代,同时删除所有不需要的部分。然而,我想知道是否有一种更优雅的方法可以直接从Hive中得到这个结果。
1条答案
按热度按时间p3rjfoxz1#
那怎么办
它与你描述的不需要的部分相匹配。用一个空字符串替换它会给你留下你想要的。
在regex101上看到它。
编辑
更新以检查
tic=
. 应该让它更稳定。我不知道这是不是你想要的,但这一个允许
tic=
作为任何参数,不仅是第一个:在regex101这里