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

Python中如何将数组格式字符串转换为字符串数组

解决方法

核心思路是先通过正则匹配为所有无包裹的标识符添加双引号,再用常规方法解析字符串。

Python实现代码

方法1:匹配固定格式标识符(推荐,准确率更高)

如果你的标识符固定为5位数字-4位数字-2位数字的格式,使用精准正则匹配:

import re
import json

raw_str = '[[00487-9904-01, 00487-9904-25], [00487-9901-30]]'
# 为所有符合格式的标识符加双引号
processed_str = re.sub(r'\b\d{5}-\d{4}-\d{2}\b', r'"\g<0>"', raw_str)
# 解析为数组
result = json.loads(processed_str)

print(result)
# 输出:[["00487-9904-01", "00487-9904-25"], ["00487-9901-30"]]

方法2:通用匹配(适配任意标识符格式)

如果标识符格式不固定,可以匹配所有数组元素位置的非分隔符字符:

import re
import ast

raw_str = '[[00487-9904-01, 00487-9904-25], [00487-9901-30]]'
processed_str = re.sub(r'(?<=[\[ ,])[^,\[\]]+(?=[,\] ])', r'"\g<0>"', raw_str)
result = ast.literal_eval(processed_str)

注意事项

  • 两种方法处理后的字符串都同时兼容json.loads和ast.literal_eval两种解析方式,可根据使用习惯选择。
  • 通用匹配方法仅适用于数组元素本身不包含逗号、方括号的场景,如果元素有特殊字符需要调整正则规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:36:03