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

Python使用多分隔符分割字符串且保留分割所用分隔符的实现方法

实现方案

Python的re.split支持通过捕获组保留匹配到的分隔符,你只需要把分隔符匹配规则用括号包裹即可,也可以额外加一步过滤逻辑处理边界场景下出现的空字符串。

可用代码示例

import re

input_str = 'X < -500 & Y > 3000 / Z > 50'
# 用捕获组包裹分隔符匹配规则,分割后会自动保留匹配到的分隔符
split_result = re.split(r"(and | or | & | /)", input_str)
# 过滤空值和纯空白元素,不需要处理边界场景可省略这一步
split_str = [item for item in split_result if item.strip()]

print(split_str)

输出结果

['X < -500', '&', ' Y > 3000', '/', 'Z > 50']

原理解释

  • re.split的正则规则如果包含()捕获组,分割后的结果列表会按顺序插入匹配到的分隔符内容
  • 列表推导过滤是为了兼容分隔符出现在字符串开头、结尾的特殊场景,避免结果里出现多余的空值元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:21:01