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

Python中按条件移除文件内换行符的实现方法

合并非日期开头的行到上一行(匹配特定日期格式)

这是个很常见的文本整理需求,我给你准备了两种实用的解决方案,分别适合不同场景:

Python脚本方案(适合跨平台、需要自定义逻辑的场景)

这个脚本会严格匹配你指定的DD/MM/YYYY, HH:MM - 格式开头的行,把所有非该格式的行合并到上一行,全程保留UTF-8编码避免乱码:

import re

# 定义匹配目标日期开头的正则表达式(完全匹配你的格式)
date_pattern = re.compile(r'^\d{2}/\d{2}/\d{4}, \d{2}:\d{2} - ')

# 替换成你的输入、输出文件路径
input_file = "your_input.txt"
output_file = "your_output.txt"

current_entry = ""

with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8') as outfile:
    for raw_line in infile:
        # 只去掉行尾的换行符,保留行内所有空格和格式
        line = raw_line.rstrip('\n')
        
        if date_pattern.match(line):
            # 遇到新的日期行:先把之前累积的内容写入文件
            if current_entry:
                outfile.write(current_entry + '\n')
            # 更新当前内容为新的日期行
            current_entry = line
        else:
            # 非日期行:追加到当前内容后面(加空格避免内容连在一起)
            if current_entry:
                current_entry += ' ' + line
            else:
                # 处理特殊情况:如果文件第一行就没有日期开头,直接保留
                current_entry = line
    # 写入最后一条累积的内容
    if current_entry:
        outfile.write(current_entry + '\n')

脚本说明:

  • 正则表达式精准匹配你给出的日期时间格式,不会误判其他类似行
  • 全程使用UTF-8编码读取/写入,确保中文或特殊字符不会乱码
  • 非日期行合并时自动加空格分隔,避免内容粘连
  • 兼容第一行无日期开头的特殊情况

命令行awk方案(适合Linux/macOS快速批量处理)

如果你习惯用命令行工具,awk可以快速完成这个任务,无需写完整脚本:

awk '
BEGIN {
    # 定义日期匹配规则
    date_regex = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}, [0-9]{2}:[0-9]{2} - /
    prev_content = ""
}
{
    if ($0 ~ date_regex) {
        if (prev_content != "") print prev_content
        prev_content = $0
    } else {
        prev_content = prev_content " " $0
    }
}
END {
    if (prev_content != "") print prev_content
}' your_input.txt > your_output.txt

使用示例:

假设你的输入文件内容是:

10/02/2016, 19:08 - 这是第一条消息的开头
这条是第一条的续行,没有日期
11/02/2016, 20:15 - 这是第二条消息
续行1
续行2

处理后输出文件的每行都会以指定日期开头:

10/02/2016, 19:08 - 这是第一条消息的开头 这条是第一条的续行,没有日期
11/02/2016, 20:15 - 这是第二条消息 续行1 续行2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:52:38