首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Data中的“REGEXP_EXTRACT”从URL中提取子目录

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

Stack Overflow用户
提问于 2019-11-04 13:15:04
回答 3查看 1.9K关注 0票数 2

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

Www.abc.com/products/phone/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

我有一个RegEx来提取域名,但这不是我真正想要的东西。下面是RegEx:

代码语言:javascript
复制
REGEXP_EXTRACT(page,'^[^.]+.([^.]+)')

给出了如下结果:abc

EN

回答 3

Stack Overflow用户

发布于 2019-11-04 13:22:25

假设产品名称总是固定的第四个path元素,我们可以尝试:

代码语言:javascript
复制
REGEXP_EXTRACT(page, '(?:[^\/]+\/){3}([^\/]+).*')

或者,如果以上所述不起作用:

代码语言:javascript
复制
REGEXP_EXTRACT(page, '[^\/]+\/[^\/]+\/[^\/]+\/([^\/]+).*')

以下是上述内容的演示:

演示

票数 0
EN

Stack Overflow用户

发布于 2019-11-05 09:54:53

因为我和我的GDS没有相同的页面,但是我尝试用我的一组数据源(也就是来自google分析的页面)重新创建。

Use可以使用下面的内容,根据您的要求,在两个斜杠之后,您将得到所有的记录。

代码语言:javascript
复制
REGEXP_EXTRACT(Page,'[^/]+/[^/]+/([^/]+)')

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

示例页:“/products/phone/ace-5/”计算的列值为"ace-5“。

只需确保此正则表达式只会在电话/之后给出提取的单词/,如果在此之后没有任何记录,则作为回报,它将给您空值。

票数 0
EN

Stack Overflow用户

发布于 2020-02-17 11:10:39

下面的REGEXP_EXTRACT 计算场完成了这个任务,在第三个/之后提取所有字符,直到下一个/实例。

代码语言:javascript
复制
REGEXP_EXTRACT(Page, "^(?:[^/]+/){3}([^/]+)")

报告和GIF将详细阐述

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58694213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档