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

Python如何在指定字符前分割字符串并生成列表

Python 指定字符前拆分字符串实现方案

以下所有方案基于示例输入字符串 s = "10001001010Q1002000293Q100292Q",目标为在每个Q前拆分,拆分后每段默认保留末尾的Q,可根据需求调整逻辑。

实现方法

  • 方法1:正则表达式拆分(最灵活)
    利用正则的正向肯定后向断言匹配Q前面的位置直接拆分,仅需一行核心逻辑,支持任意复杂规则的拆分场景:
import re

s = "10001001010Q1002000293Q100292Q"
# (?<=Q) 表示匹配Q前面的空位置,拆分后过滤空字符串即可
result = [item for item in re.split(r'(?<=Q)', s) if item]
print(result)

输出结果:
['10001001010Q', '1002000293Q', '100292Q']
如果不需要保留片段末尾的Q,将正则规则改为r'Q'即可。

  • 方法2:原生字符串方法实现(无需引入第三方库)
    先按Q拆分字符串,再给非空片段补回末尾的Q,逻辑简单易读:
s = "10001001010Q1002000293Q100292Q"
split_parts = s.split('Q')
result = [part + 'Q' for part in split_parts if part]
print(result)

输出结果和方法1完全一致。

输出为新字符串

如果不需要列表格式,需要拼接为完整新字符串,直接使用join方法即可,示例为用换行符分隔每个片段:

new_str = '\n'.join(result)
print(new_str)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:57:03