You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何忽略以|分隔的字符串中第4个词之后的内容?

解决方案

要实现忽略category_tag中第4个分隔部分之后的内容,只需先对原字符串进行截断处理,保留前4个由|分隔的元素,再基于处理后的字符串执行原逻辑。修改后的BigQuery代码如下:

SELECT
  SPLIT(truncated_tag, '|')[OFFSET(0)] AS category_name,
  ['', 'Parent', 'Child', 'Grandchild', 'Greatgrandchild'][OFFSET(ARRAY_LENGTH(SPLIT(truncated_tag, '|')))] AS category_type,
  '/' || REGEXP_REPLACE(REPLACE(truncated_tag, '|', '/'), r'^([^/]+)(/)(.*)', r'\3\2\1') AS category
FROM (
  SELECT
    -- 截取前4个分隔部分,忽略后续内容
    ARRAY_TO_STRING(ARRAY_SLICE(SPLIT(category_tag, '|'), 0, 4), '|') AS truncated_tag
  FROM your_table
)

关键逻辑说明

  • SPLIT(category_tag, '|'):将原字符串按|分割成数组
  • ARRAY_SLICE(..., 0, 4):从数组中截取前4个元素(索引0到3,不包含4)
  • ARRAY_TO_STRING(..., '|'):将截取后的数组重新拼接成用|分隔的字符串,完成截断
  • 后续的category_name、category_type和category计算逻辑与原代码一致,但基于截断后的字符串执行

例如,当category_tag为animals|land-mammals|cats|domestic-cats|blackcat|cutecat时,会先被处理为animals|land-mammals|cats|domestic-cats,再进行后续计算。

内容的提问来源于stack exchange,提问作者Zahra Safdari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:54:54