如何提取短语 (xvth) 后的数字并将短语替换为 "Group-"?
How do I extract the numbers after a phrase (xvth) and replace the phrase with "Group-"?
我将数据从 BigQuery 导出到 Google Data Studio,一个字段包含如下用户名。
- xvth20-00-tt-wr
- xvth27-00-pt-px
前 4 个字符 (xvth
) 始终相同,后面的数字 (xvth
) 对应一个组。多个用户名将在这些字符后包含相同的数字,但 00-
及以后的字符串的其余部分将不同。
我想要做的是提取 4 个字符后面的数字并创建一个如下所示的新字段。
- 20组
- 27组
我已经尝试了以下 REPLACE(SUBSTR(Users,1, 6), 'xvth20', 'Group-20')
并且我将不得不为每个看起来太多的条件创建一个。此外,数据会不断增长,所以我不想继续添加其他功能。
有更简单的方法吗?
以下任一 REGEXP_REPLACE
Calculated Fields will replace xvth
with Group-
, immediately followed by the respective captured numbers; Calculated Field #1 uses a Raw Literal,由字母 r
表示,需要单个 \
来转义特殊的 RegEx 字符,而 已计算字段 #2 需要 \
转义 Google Data Studio RegEx,因为它不使用原始文字:
1) 使用 r
(原始文字)
REGEXP_REPLACE(Users, r"^xvth(\d+).*", r"Group-")
2) 没有 r
(原始文字)
REGEXP_REPLACE(Users, "^xvth(\d+).*", "Group-\1")
Editable Google Data Studio Report (Embedded Google Sheets 数据源)和一张 GIF 来详细说明:
我将数据从 BigQuery 导出到 Google Data Studio,一个字段包含如下用户名。
- xvth20-00-tt-wr
- xvth27-00-pt-px
前 4 个字符 (xvth
) 始终相同,后面的数字 (xvth
) 对应一个组。多个用户名将在这些字符后包含相同的数字,但 00-
及以后的字符串的其余部分将不同。
我想要做的是提取 4 个字符后面的数字并创建一个如下所示的新字段。
- 20组
- 27组
我已经尝试了以下 REPLACE(SUBSTR(Users,1, 6), 'xvth20', 'Group-20')
并且我将不得不为每个看起来太多的条件创建一个。此外,数据会不断增长,所以我不想继续添加其他功能。
有更简单的方法吗?
以下任一 REGEXP_REPLACE
Calculated Fields will replace xvth
with Group-
, immediately followed by the respective captured numbers; Calculated Field #1 uses a Raw Literal,由字母 r
表示,需要单个 \
来转义特殊的 RegEx 字符,而 已计算字段 #2 需要 \
转义 Google Data Studio RegEx,因为它不使用原始文字:
1) 使用 r
(原始文字)
REGEXP_REPLACE(Users, r"^xvth(\d+).*", r"Group-")
2) 没有 r
(原始文字)
REGEXP_REPLACE(Users, "^xvth(\d+).*", "Group-\1")
Editable Google Data Studio Report (Embedded Google Sheets 数据源)和一张 GIF 来详细说明: