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
相关产品推荐
相关产品推荐

