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

如何从含range表达式的字符串提取数字生成合规数据切片格式

解决方案

方法1:正则匹配(推荐,适配性更强)

直接匹配第一个range()内的两个数字,自动忽略后续内容,适配任意位数的数字:

import re

sample = 'range(0, 286)range(300, 511)'
# 正则捕获第一个range括号内的起始、结束数字
res = re.search(r"range\((\d+),\s*(\d+)\)", sample)
if res:
    start_num, end_num = res.groups()
    slice_format = f"[{start_num}:{end_num}]"
    print(slice_format)

运行输出为:
[0:286]

方法2:纯字符串拆分(无需导入模块)

通过字符串切割提取目标部分,逻辑简单易读:

sample = 'range(0, 286)range(300, 511)'
# 截取第一个右括号前的内容,去掉前缀range(
first_range_content = sample.split(")")[0].lstrip("range(")
# 拆分两个数字并去除多余空格
start_num, end_num = [item.strip() for item in first_range_content.split(",")]
slice_format = f"[{start_num}:{end_num}]"
print(slice_format)

两种方法都支持任意位数的数字输入,不需要处理第二组range()的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:18:03