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

Python正则分割字符串并保留指定分隔符的问题排查

解决Python正则分割时保留分隔符并生成预期子串的问题

你当前的正则分割逻辑错误,导致分割点过于零散,无法得到预期的子串分组。要实现需求,需要精准定位分割边界——即在逗号后紧跟空格+大写字母、句号后紧跟空格、换行符后紧跟空格的位置进行分割,同时保留分隔符在对应子串中。

解决方案代码

import re

input_string = "Sus cosas deben ser llevadas allí, ella tomo a sí, Lucy la hermana menor, esta muy entusiasmada. por verte hoy por la tarde\n sdsdsd"

# 精准匹配分割边界:逗号后接空格大写字母、句号后接空格、换行后接空格
result_list = re.split(r'(?<=,)(?= [A-Z])|(?<=\.)(?= )|(?<=\n)(?= )', input_string)

print(result_list)

正则逻辑解释

  • (?<=,)(?= [A-Z]):正向后顾断言匹配逗号,正向预查断言匹配空格+大写字母——在逗号和空格之间分割,保留逗号在前一子串,空格+大写字母在后一子串
  • (?<=\.)(?= ):在句号和后续空格之间分割,保留句号在前一子串
  • (?<=\n)(?= ):在换行符和后续空格之间分割,保留换行符在前一子串

运行代码后输出完全符合预期:

["Sus cosas deben ser llevadas allí, ella tomo a sí,", " Lucy la hermana menor, esta muy entusiasmada.", " por verte hoy por la tarde\n", " sdsdsd"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:17:47