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

如何解析字母数字范围字符串并生成所有包含的取值

解决方案:展开编号范围字符串

核心思路

先把输入的字符串拆分成独立条目,区分单个编号和范围编号,再针对范围编号生成所有中间的完整编号,最后把所有结果整合为一个连贯的输出字符串。

具体实现代码

def expand_number_range(input_str):
    expanded_list = []
    # 拆分输入字符串为独立条目,去除每个条目前后的多余空格
    entries = [entry.strip() for entry in input_str.split(',')]
    
    for entry in entries:
        if '-' in entry:
            # 处理范围型条目,拆分起始和结束编号
            start_code, end_code = entry.split('-')
            start_code = start_code.strip()
            end_code = end_code.strip()
            
            # 提取固定字母前缀和数字部分
            prefix = start_code[:2]
            start_num = int(start_code[2:])
            end_num = int(end_code[2:])
            
            # 生成范围内所有编号,数字部分补零到3位保证格式统一
            for num in range(start_num, end_num + 1):
                expanded_list.append(f"{prefix}{num:03d}")
        else:
            # 单个编号直接加入结果列表
            expanded_list.append(entry.strip())
    
    # 用逗号连接成最终的输出格式
    return ', '.join(expanded_list)

# 测试你的输入案例
input_str = "AB001-AB050, AB055, AB060-AB099"
print(expand_number_range(input_str))

输出结果

运行代码后会输出:

AB001, AB002, AB003, AB004, AB005, AB006, AB007, AB008, AB009, AB010, AB011, AB012, AB013, AB014, AB015, AB016, AB017, AB018, AB019, AB020, AB021, AB022, AB023, AB024, AB025, AB026, AB027, AB028, AB029, AB030, AB031, AB032, AB033, AB034, AB035, AB036, AB037, AB038, AB039, AB040, AB041, AB042, AB043, AB044, AB045, AB046, AB047, AB048, AB049, AB050, AB055, AB060, AB061, AB062, AB063, AB064, AB065, AB066, AB067, AB068, AB069, AB070, AB071, AB072, AB073, AB074, AB075, AB076, AB077, AB078, AB079, AB080, AB081, AB082, AB083, AB084, AB085, AB086, AB087, AB088, AB089, AB090, AB091, AB092, AB093, AB094, AB095, AB096, AB097, AB098, AB099

补充说明

  • 这个方案严格匹配题目要求:前缀固定为两位字母,数字部分固定三位,所以用start_code[:2]提取前缀,数字转整数后用num:03d补零格式化,确保编号格式统一
  • 如果需要适配不同长度的前缀或数字,只需要调整切片位置和格式化的位数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 08:38:13