繁体   English   中英

如何在 Google Data Studio 中使用 REGEXP_EXTRACT 提取第一个 / 和第二个 / 之间的所有字符?

[英]How can I extract all characters between the first / and second / using REGEXP_EXTRACT in Google Data Studio?

我正在尝试在 Google Data Studio 中使用REGEXP_EXTRACT来提取 URL 的一部分。

输入:

网址
/media/news/royals/meghan-markle-prince-harry-archie-new-photo
/市场/交易/最畅销的矫形友好运动鞋/

输出:

网址
媒体
市场

我如何起草一个允许我提取它的表达式?

您可以使用正则表达式和捕获组来查找字符串的开头、1 个斜杠、任何不是斜杠的内容,然后是斜杠。 在 Python 中,下面的正则表达式有效。 使用 regex101.com 测试您的正则表达式。

strings = ['/media/news/royals/meghan-markle-prince-harry-archie-new-photo', '/marketplace/deals/best-selling-orthotic-friendly-sneakers/']

for s in strings:
    good_part = re.sub('\A/([^/]*)/.*', r'\1', s)
    print(good_part)

印刷:

media
marketplace

您可以使用以下表达式实现此目的: ^/([^/]+)

它匹配以 ( ^ ) 开头的字符串/ ,并捕获 1 个或多个不是/之后的字符 ( ([^/]+) )。

例子:

WITH URLS AS (
  SELECT '/media/news/royals/meghan-markle-prince-harry-archie-new-photo' url
  UNION ALL
  SELECT '/marketplace/deals/best-selling-orthotic-friendly-sneakers/' url
)
SELECT url, REGEXP_EXTRACT(url, '^/([^/]+)') path
FROM URLS

请参阅https://support.google.com/datastudio/answer/7050487?hl=en

可以使用下面的REGEXP_EXTRACT计算字段来实现,该字段提取第一个/和下一个/之间的所有字符(如果没有第二个/ ,则将捕获所有字符,直到字符串末尾):

REGEXP_EXTRACT(URLs, "^/([^/]+)")

可编辑的 Google Data Studio 报告(嵌入式Google 表格数据源)和 GIF 详细说明:

暂无
暂无

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

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