替换/删除datastudio中第一个+字符后的所有内容

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

我有一个看起来像这样的字符串(存储为Google Analytics(分析)中的事件操作值)

0 + 171235652 ++ zu

122 + 115166747 ++ en

我想(使用计算字段)创建一个新字段,该字段将仅显示第一个'+'字符之前的数字。因此,在上述示例中

0或122

我尝试过的是(下面),但是没有帮助,有什么想法吗?

REGEXP_REPLACE(Event Action, '(^\\+).*', '')

regex google-analytics google-data-studio regexp-replace
2个回答
1
投票

您可以使用

REGEXP_EXTRACT(Event Action, '^([^+]+)')

请参见regex in action。正则表达式匹配:

  • ^-字符串开头
  • [([^+]+)-捕获组1:除+以外的任何一个或多个字符(如果您想在([^+]*)是第一个字符时也得到空匹配,则可以使用+)。

如果需要替换功能,可以使用

REGEXP_REPLACE(Event Action,"[+].*","")

1
投票

您尝试的模式(^\\+).*无效,因为此部分^\\+与字符串的开头匹配,后跟1个或多个加号。


如果第一个加号之前的数字应该是数字,并且加号本身应该存在,则可以捕获前导数字,然后匹配加号,然后匹配字符串的其余部分。

在替换中使用组1,并使用\\1

^(\\d+)\\+.*

部分

  • [^字符串的开头
  • (\\d+)捕获组1,匹配1个或多个数字
  • [\\+.*匹配一个+字符,并且除换行符外,匹配任何字符0或更多次

Regex demo

示例代码

REGEXP_REPLACE(Event Action, '^(\\d+)\\+.*', '\\1')
© www.soinside.com 2019 - 2024. All rights reserved.