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

Snowflake SQL中提取JSON字符串指定标识间内容的方法

Snowflake SQL提取指定标识间内容的实现方案

这里提供两种可行的函数实现方案,用于提取~Message:之后到下一个~之间的内容:

方案一:使用正则函数REGEXP_SUBSTR

借助正则捕获组直接定位目标内容,适合处理结构稍复杂的字符串场景:

SELECT 
  REGEXP_SUBSTR(
    'This is a test ~Message: This is a test~',
    '~Message: (.*?)~',
    1,
    1,
    'e'
  ) AS extracted_content;

参数说明:

  • '~Message: (.*?)~':正则表达式,其中(.*?)是非贪婪匹配模式,精准捕获两个标识之间的内容
  • 第3、4个参数1,1表示从字符串起始位置开始匹配第1次出现的目标模式
  • 'e'参数指定返回正则表达式中捕获组(括号内的内容),而非整个匹配的字符串

方案二:使用字符串分割函数SPLIT_PART

通过两次分割操作提取内容,逻辑直观,适合结构固定的简单场景:

SELECT 
  SPLIT_PART(
    SPLIT_PART('This is a test ~Message: This is a test~', '~Message: ', 2),
    '~',
    1
  ) AS extracted_content;

逻辑说明:

  1. 第一次SPLIT_PART以~Message: 为分隔符,将原字符串分割为两部分,取第2部分(即~Message: 之后的所有内容)
  2. 第二次SPLIT_PART以~为分隔符,将上一步的结果分割,取第1部分即为目标内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 15:33:09