如何在Google Looker Studio中仅保留URL的slug查询参数?
解决方案
可以通过两步正则提取+字符串拼接实现,直接在Looker Studio计算字段里用以下公式:
CONCAT( -- 提取URL的基础部分(问号之前的内容) REGEXP_EXTRACT(你的URL字段名, '^[^?]+'), -- 提取slug参数的完整键值对(如果存在的话) IF( REGEXP_MATCH(你的URL字段名, '[?&]slug='), CONCAT('?', REGEXP_EXTRACT(你的URL字段名, 'slug=[^&]+')), '' ) )
公式拆解
- 提取基础URL:用
REGEXP_EXTRACT(字段名, '^[^?]+')匹配从开头到第一个问号之前的所有内容,比如示例里的https://www.testdomain.ca/ve/exhibit/。 - 判断并提取slug参数:
- 先用
REGEXP_MATCH检查URL里是否存在slug参数,避免没有slug时多出来一个问号。 - 如果存在,用
REGEXP_EXTRACT(字段名, 'slug=[^&]+')提取slug=xxx的完整内容,再拼接上问号;如果不存在,就返回空字符串。
- 先用
示例验证
把示例URL代入公式:
- 基础URL提取结果:
https://www.testdomain.ca/ve/exhibit/ - slug参数提取结果:
slug=mischief-and-mirth-ve - 拼接后得到:
https://www.testdomain.ca/ve/exhibit/?slug=mischief-and-mirth-ve,完全符合期望结果。
额外说明
不管slug参数是在问号后的第一个位置还是中间位置,这个公式都能适配,因为slug=[^&]+会匹配从slug=开始到下一个&(或者URL结尾)的所有内容,不会被其他参数干扰。
内容的提问来源于stack exchange,提问作者kait
相关产品推荐
相关产品推荐

