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

Python如何基于多分隔符拆分字符串并保留分隔符且不使用re库

无正则依赖的字符串拆分实现方案

实现思路

  • 提前预设需要作为独立项保留的运算符分隔符列表
  • 遍历运算符列表,将原字符串中所有运算符的前后统一拼接空格,避免运算符和前后文本粘连
  • 将处理后的字符串按空格拆分,再过滤掉拆分产生的空值项即可得到目标结果

示例代码(Python)

# 输入字符串
input_str = "three hundred + four - fifty six * eight"
# 预设运算符分隔符列表,可按需扩展
operators = ['+', '-', '*']

# 给所有运算符前后补空格
for op in operators:
    input_str = input_str.replace(op, f' {op} ')

# 按空格拆分后过滤空项
result = [item for item in input_str.split(' ') if item]

print(result)
# 输出:['three hundred', '+', 'four', '-', 'fifty six', '*', 'eight']

兼容说明

如果需要支持多字符运算符(如==、>=等),只需调整运算符列表的顺序,把长度更长的运算符放在列表前面处理即可,避免短运算符先被替换导致长运算符被拆分。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:45:07