python - 按 (a), (b), ..., (z) 分割
问题描述
我有一个字符串,我想用这些分隔符 (a)、(b)、...、(z) 分割
string="""(a) first string
(b) second (string)
(c) third string"""
string.split("()")
我想要的是:
[(a) first string, (b) second (string), (c) third string)]
解决方案
我们可以re.findall
在这里使用一种方法:
string = """(a) first string
(b) second (string)
(c) third string"""
items = re.findall(r'\([a-z]{1,3}\).*?(?=\s*\([a-z]{1,3}\)|$)', string, flags=re.DOTALL)
print(items) # ['(a) first string', '(b) second (string)', '(c) third string']
请注意,这里我假设每个项目符号中最多包含三个小写字母。如果不是,那么可能很难与类似的东西区分开来(string)
,这似乎也是节标题。
推荐阅读
- authentication - 网站可以通过复制 cookie 和欺骗 IP 被黑客入侵吗?
- python - 如何使用 random.choice() 执行多项随机选择?
- android - 从视图中请求相机权限
- javascript - 如何避免每次调用一个方法
- java - 我需要使用 AID 从一个类中访问一个值
- javascript - 创建带有时区的 javascript 日期
- java - 如何在不转换为二进制字符串的情况下计算汉明码?
- java - 为什么 ObjectMapper.writeValueAsString() 在低驼峰情况下插入具有原始属性的奇数属性?
- c# - 从 IdentityServer4 中的 ChallengeResult() 发出新的声明
- arrays - 将较小的矩阵索引到较大矩阵的中心