REGEXP_REPLACE 在Data Studio中清理YouTube视频的URL。

问题描述 投票:0回答:1

我正在启动一个事件,该事件发送的事件标签为"{{YouTube视频名称}}。- {{视频网址}}",我正试图清理Data Studio报表以删除重复的内容。这是我要清理(合并)的三个字符串结构,第一个例子是主要的,也是我想要的结果。

视频名称 - https:/www.youtube.comwatch?v=BHdX7wjVZuoI

视频名称 - https:/www.youtube.comwatch?v=BHdX7wjVZuoI&ebc=ANyPxKrWfYNNVhpt95KfvUrpVQmzotu0CtDxIhnZlW3WyfXfnilceZ6cSW3JbSrVFvNH2T5sO8tyf0PEhdFeSh7waKYfyZEgcg。

视频名称 - https:/www.youtube.comwatch?t=1&v=BHdX7wjVZuoI。

REGEXP_REPLACE(Event Label,'(.*youtube\\.com/watch\\?v=[^\\&]*)\\&(.*)','\\1')
REGEXP_REPLACE(Event Label,'(.*youtube\\.com/watch\\?)(t=[0-9]*\\&)?(v=[^\\&]*)\\&(.*)','\\1\\3')

两个REGEXP_REPLACE都可以用于前两个例子,并删除"&ebc="之后的所有内容。

我不能似乎得到的工作是第三个视频网址的例子,并删除中间部分。在上面的例子代码中,这是 "t=1&"。我试图删除的所有url字符串都有相同的格式:"t="(一个或多个数字)"&"。

我尝试了第二段代码,在这里我添加了 "t="(一个或多个数字)"&"。(t=[0-9]*\\&)? 但这些视频网址没有被捕获,仍然显示为单独的事件标签(网址)。

希望能得到帮助。

regex youtube google-data-studio regexp-replace
1个回答
0
投票

这个 REGEXP_REPLACE 计算领域 做到了这一点。

REGEXP_REPLACE(Event Label, '^(.*youtube\\.com/watch\\?).*(v=[^\\&]*).*', '\\1\\2')

简要说明:

  • * 匹配一个字符,当它出现0次或更多,并与相邻的字符或分组相连。
  • =* 寻找0次或更多次出现的 =.
  • [^\\&]* 匹配0个或更多出现的字符或任何字符,除了 &因此 (v=[^\\&]*) 摘录 v= 和第一次出现之前的所有字符。&.
  • 另外 .* 会提取任何字符0次或更多。

谷歌数据工作室报告 来详细说明。

© www.soinside.com 2019 - 2024. All rights reserved.