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

使用Python移除文件中的字符串拼接符并合并字符串

处理末尾带'+'的文本行合并问题

核心思路

逐行读取时不能孤立处理单一行,需维护一个缓冲区暂存待拼接的内容片段:遇到以'+'结尾的行,就移除'+'后加入缓冲区;遇到正常行时,将缓冲区内容与当前行合并后输出,再清空缓冲区。

Python实现代码示例

with open('input.txt', 'r', encoding='utf-8') as infile, open('output.txt', 'w', encoding='utf-8') as outfile:
    buffer = []
    for line in infile:
        # 先移除换行符,避免干扰末尾判断
        cleaned_line = line.rstrip('\n')
        if cleaned_line.endswith('+'):
            # 去掉末尾的'+',加入缓冲区(可按需决定是否移除行尾空格)
            buffer.append(cleaned_line[:-1].rstrip())
        else:
            if buffer:
                # 合并缓冲区与当前行后写入
                buffer.append(cleaned_line)
                merged = ' '.join(buffer)  # 若原文本无空格需求,直接用''.join(buffer)
                outfile.write(merged + '\n')
                buffer = []
            else:
                # 无待拼接内容,直接写入当前行
                outfile.write(line)
    # 处理文件末尾可能剩余的待拼接内容
    if buffer:
        outfile.write(' '.join(buffer) + '\n')

关键注意点

  • 必须用缓冲区暂存:单独判断每行末尾无法完成跨行合并,因为拼接行属于上一行的延续内容。
  • 先移除换行符:行末的\n会导致endswith('+')判断失效,需先清理换行符再做判断。
  • 灵活调整拼接方式:用' '.join还是直接拼接,取决于原文本中拼接片段之间是否需要保留空格,可根据实际情况修改。
  • 处理末尾残留:文件最后几行可能都是带'+'的拼接行,循环结束后要检查缓冲区并输出剩余内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:57:00