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

使用多分隔符分割字符串失效,仅单个分隔符可用,求问题排查

问题分析与解决

你的问题出在Python的str.split()方法不支持用|表示多分隔符的“或”逻辑——它只会把你写的splitter当成一个完整的字符串去匹配,而你的目标字符串里根本不存在"\r\n\r\n | \r\n\r\n| "这个完整序列,自然分割无效。

要实现多分隔符分割,得用re模块的split()函数,它支持正则表达式,可以用|来指定多个可选分隔符。

修正后的代码示例

import re

string = '\r\n\r\n \r\n\r\nfirst_col: col1 \r\n\r\nsecond_col: col2 \r\n\r\nthird_col: col3 \r\n\r\nfourth_col: col4 \r\n\r\nfith_col: col5\r\n'
# 匹配所有包含\r\n\r\n的分隔组合,同时忽略前后的空格
split_result = re.split(r'\s*\r\n\r\n\s*', string)
# 过滤分割后产生的空字符串
clean_result = [item for item in split_result if item]
print(clean_result)

执行后会得到你想要的结果:

['first_col: col1', 'second_col: col2', 'third_col: col3', 'fourth_col: col4', 'fith_col: col5']

补充说明

如果你只想精确匹配你原本指定的几个分隔符("\r\n\r\n "和" \r\n\r\n"),也可以这样写正则:

split_result = re.split(r'\r\n\r\n | \r\n\r\n', string)
clean_result = [x for x in split_result if x.strip()]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:55:26