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

如何编写query提取指定字符串不同位置破折号之间的目标值

字符串指定区间内容提取方案

目标处理字符串:"aaaa-h0321456-f7894-1599-5"

方案1:字符串分割法(逻辑最简单,性能最优)

适用场景:字符串固定以-作为分隔符,无特殊转义规则

  • 实现逻辑:将字符串按-切割为列表,列表下标从0开始计数,第一个和第二个破折号之间的内容对应下标1的元素,第二个和第三个破折号之间的内容对应下标2的元素
  • Python 示例代码:
raw_str = "aaaa-h0321456-f7894-1599-5"
split_list = raw_str.split("-")
# 提取h0321456
res1 = split_list[1]
# 提取f7894
res2 = split_list[2]

输出结果:
res1 = h0321456,res2 = f7894

方案2:正则匹配法(适配灵活的规则调整)

适用场景:字符串格式存在波动,需要更灵活的匹配规则

  • 匹配第一个和第二个破折号之间内容的正则:^[^-]+-([^-]+)-,提取捕获组1即可
  • 匹配第二个和第三个破折号之间内容的正则:^[^-]+-[^-]+-([^-]+)-,提取捕获组1即可
  • Python 示例代码:
import re
raw_str = "aaaa-h0321456-f7894-1599-5"
# 提取h0321456
res1 = re.match(r"^[^-]+-([^-]+)-", raw_str).group(1)
# 提取f7894
res2 = re.match(r"^[^-]+-[^-]+-([^-]+)-", raw_str).group(1)

输出结果:
res1 = h0321456,res2 = f7894

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:15:03