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

如何分割带括号的字符串?Python字符串分割问题求助

问题分析与解决

你用split('(,)')得不到预期结果,核心原因是原字符串里不存在(,)这个连续字符组合,实际分隔各个括号组的是),((右括号+逗号+左括号),所以split的参数用错了。

方法1:得到你期望的3元素列表

直接用),(作为分隔符拆分即可:

a='(180-240,0-100),(100-200,0-110),(200-240,0-120)'
b = a.split('),(')
print(b)
# 输出结果:['(180-240,0-100', '100-200,0-110', '200-240,0-120)']

方法2:拆成6个单独的区间字符串

如果最终目标是得到['180-240','0-100','100-200','0-110','200-240','0-120'],可以用更简洁的方式处理:

a='(180-240,0-100),(100-200,0-110),(200-240,0-120)'
# 先去掉首尾括号,再把中间的),(替换成逗号,最后按逗号拆分
result = a.strip('()').replace('),(', ',').split(',')
print(result)
# 输出结果:['180-240', '0-100', '100-200', '0-110', '200-240', '0-120']

或者分步处理,逻辑更清晰:

a='(180-240,0-100),(100-200,0-110),(200-240,0-120)'
# 拆分出三个括号组
groups = a.split('),(')
# 清理第一个组的左括号和最后一个组的右括号
groups[0] = groups[0].lstrip('(')
groups[-1] = groups[-1].rstrip(')')
# 拆分每个组并合并成最终列表
final_list = []
for group in groups:
    final_list.extend(group.split(','))
print(final_list)
# 同样得到目标结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:52:35