正则表达式提取 Google Data Studio:需要将一个用竖线分隔的字段分割成单独的字段
Regex Extract Google Data Studio: Need to slice one field delimited with pipes into separate fields
我有一个字段,其中的值如下所示:
Field
pos1-123|pos2 xyx123|pos3-abc|pos4x350
我想使用 REGEXP_EXTRACT 将字段分成四个不同的计算字段,如下所示:
- 计算字段 1:
pos1-123
,
- 计算字段 2:
pos2 xyx123
- 计算字段 3:
pos3-abc
- 计算字段 4:
pos4x350
我已经成功地使用以下方法自行提取了计算字段 1:
> REGEXP_EXTRACT(Field, '^//|(//|[[:alnum:]]+)')
但是,我无法迭代字符串的其余部分。
您可以使用以下正则表达式:
REGEXP_EXTRACT(Field, '^([^|]+)')
REGEXP_EXTRACT(Field, '^[^|]+\|([^|]+)')
REGEXP_EXTRACT(Field, '^(?:[^|]+\|){2}([^|]+)')
REGEXP_EXTRACT(Field, '^(?:[^|]+\|){3}([^|]+)')
详情:
^
- 字符串开头
(?:[^|]+\|){3}
- 出现三次 ({3}
)
[^|]+
- |
以外的任何一个或多个字符
\|
- 一个 |
字符
([^|]+)
- 捕获第 1 组:|
. 以外的任何一个或多个字符
我有一个字段,其中的值如下所示:
Field |
---|
pos1-123|pos2 xyx123|pos3-abc|pos4x350 |
我想使用 REGEXP_EXTRACT 将字段分成四个不同的计算字段,如下所示:
- 计算字段 1:
pos1-123
, - 计算字段 2:
pos2 xyx123
- 计算字段 3:
pos3-abc
- 计算字段 4:
pos4x350
我已经成功地使用以下方法自行提取了计算字段 1:
> REGEXP_EXTRACT(Field, '^//|(//|[[:alnum:]]+)')
但是,我无法迭代字符串的其余部分。
您可以使用以下正则表达式:
REGEXP_EXTRACT(Field, '^([^|]+)')
REGEXP_EXTRACT(Field, '^[^|]+\|([^|]+)')
REGEXP_EXTRACT(Field, '^(?:[^|]+\|){2}([^|]+)')
REGEXP_EXTRACT(Field, '^(?:[^|]+\|){3}([^|]+)')
详情:
^
- 字符串开头(?:[^|]+\|){3}
- 出现三次 ({3}
)[^|]+
-|
以外的任何一个或多个字符
\|
- 一个|
字符
([^|]+)
- 捕获第 1 组:|
. 以外的任何一个或多个字符