簡體   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