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

Replace / Delete everything after first + character in datastudio

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

0+171235652++zu

122+115166747++en

我想(使用计算字段)创建一个仅显示第一个“+”字符之前的数字的新字段。所以在上面的例子中

0 或 122

我尝试了(下),但没有帮助,有什么想法吗?

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

您可以使用

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

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

  • ^ - 字符串开头
  • ([^+]+) - 捕获第 1 组:除 + 之外的任何一个或多个字符(如果你想在 + 是第一个字符)。

如果你想要一个替换功能,你可以使用

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

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


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

在替换中使用 \1 使用第 1 组。

^(\d+)\+.*

部分

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

Regex demo

示例代码

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