繁体   English   中英

如何在 Data Studio 中使用“REGEXP_EXTRACT”从 URL 中提取子目录

[英]How to extract sub-directories from the URL using 'REGEXP_EXTRACT' in Data Studio

我正在尝试使用REGEXP_EXTRACT从两个斜杠之间的 URL 中提取产品名称。 例如,我想从以下 URL 中提取ace-5

www.abc.com/products/phones/ace-5/
www.abc.com/products/phones/ace-5/?cid=dm66363&bid
www.abc.com/products/phones/ace-5/?fbclid=iwar30dpnmmpwppnla7
www.abc.com/products/phones/ace-5/?et_cid=em_367029&et_rid=130

我有一个正则表达式来提取域名,但这不是我真正想要的。 下面是正则表达式:

REGEXP_EXTRACT(page,'^[^.]+.([^.]+)')

它给出以下结果: abc

假设产品名称始终是固定的第四个路径元素,我们可以尝试:

REGEXP_EXTRACT(page, '(?:[^\/]+\/){3}([^\/]+).*')

或者,如果上述方法不起作用:

REGEXP_EXTRACT(page, '[^\/]+\/[^\/]+\/[^\/]+\/([^\/]+).*')

这是上面的演示:

演示

由于我的 GDS 没有相同的页面,但我尝试使用我的数据源集重新创建,即来自谷歌分析的页面。

使用可以使用以下内容,根据您的要求,这将在两个斜线后为您提供所有记录。

REGEXP_EXTRACT(Page,'[^/]+/[^/]+/([^/]+)')

您需要使用此公式创建一个计算列,一旦您创建了此计算列,您可能需要添加一个额外的过滤器以删除具有null值的那些。

示例页面:“/products/phones/ace-5/” 计算的列值为“ace-5”

只要确保这个正则表达式只会在电话/之后给你提取的单词,如果你之后没有任何记录,它会给你 null 作为回报。

下面的REGEXP_EXTRACT计算字段可以解决问题,提取第三个/之后的所有字符,直到/的下一个实例:

REGEXP_EXTRACT(Page, "^(?:[^/]+/){3}([^/]+)")

谷歌数据洞察报告和一个 GIF 来详细说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM