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

Python中split分割主分隔符后,如何为每第6个字符串设置次分隔符?

解决方案

你的需求是将按|分割后的字段列表,每6个字段重新组合为一个记录,记录之间用换行分隔,同时保留字段内部的换行内容。可以按以下步骤实现:

步骤1:清理原始字符串(可选但推荐)

先去除记录之间的空行,避免空行被混入字段内容导致分组错误:

# 保留字段内部的换行,仅过滤空行
cleaned_str = '\n'.join(line for line in file_str.splitlines() if line.strip())

步骤2:分割字段

按|分割得到所有字段的列表:

parts = cleaned_str.split('|')

步骤3:分组并格式化

将字段列表按每6个元素分组,再将每个分组内的字段用|连接,分组之间用换行分隔:

# 每6个字段为一组,生成记录列表
records = [parts[i:i+6] for i in range(0, len(parts), 6)]
# 拼接成最终的格式化字符串
formatted_result = '\n'.join('|'.join(record) for record in records)

完整示例代码

# 模拟你的文件内容
file_str = """uid216|Banana
bunches
nurture|Fail|76|7645|Singer

uid342|Orange
vulture|Pass|56
87|3547|Actor"""

# 清理空行
cleaned_str = '\n'.join(line for line in file_str.splitlines() if line.strip())
parts = cleaned_str.split('|')
# 分组并格式化
records = [parts[i:i+6] for i in range(0, len(parts), 6)]
formatted_result = '\n'.join('|'.join(record) for record in records)

print(formatted_result)

运行后输出:

uid216|Banana
bunches
nurture|Fail|76|7645|Singer
uid342|Orange
vulture|Pass|56
87|3547|Actor

如果你的字段内部不会出现连续空行,也可以跳过清理空行的步骤,但加上该步骤能避免记录间的空行干扰分组逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:06:30