[英]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.