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

Python中如何按(a)、(b)至(z)格式的分隔符拆分字符串得到目标列表

实现方案

你原来用string.split("()")无法生效的原因是这个写法只会匹配连续的()字符,既不能识别(a)这类带字母的标记,也不会保留标记作为拆分后元素的一部分。

可以用Python正则模块re的findall方法实现需求,代码如下:

import re

string = """(a) first string
(b) second (string)
(c) third string"""

# 正则匹配所有以(a)~(z)格式开头的分段
result = re.findall(r'\([a-z]\).*?(?=\n\([a-z]\)|$)', string)
print(result)

运行输出结果:

['(a) first string', '(b) second (string)', '(c) third string']

注:你给出的期望输出末尾多了一个多余的右括号,属于笔误,以上结果为实际正确输出。

如果需要适配其他场景可以调整正则规则:

  • 如果标记支持大写字母,把正则里的[a-z]改成[a-zA-Z]
  • 如果分段内容允许内部换行,给findall加第三个参数re.DOTALL,让.可以匹配换行符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:54:02