分行按标点

📚 智能文本处理工具

🌟 核心功能

专业级文本清洗与格式化工具 - 自动执行多重文本处理流程,输出标准化内容

🔧 核心处理流程

  1. 符号清洗
  • 自动删除干扰符号:「」「》《【】
  1. 智能分行
  • 特殊标点组合处理:
    • ?!组合在!后分行
    • !!组合在最后一个!后分行
  • 支持12种中英文标点分行:,.,。!?!?;;'":}{
  1. 深度清理
  • 移除指定标点:中文逗号、句号和英文逗号
  • 清除所有空白行(包括仅含空格的行)
  1. 批量处理
  • 自动遍历输入目录所有TXT文件
  • 保持原文件名输出

🚀 特色优势

  • 多层级文本清洗流水线处理
  • 智能标点组合识别算法
  • 完全保留文本语义结构
  • 批量化一键处理能力

📂 文件管理

工作目录结构:
├── input/         # 输入目录(自动读取)
│   ├── 文件1.txt
│   └── 文件2.txt
└── output/        # 输出目录(自动创建)
    ├── 文件1.txt  # 处理后的文件
    └── 文件2.txt

💻 使用指南

  1. 将待处理TXT文件放入input文件夹
  2. 运行程序
  3. 查看output文件夹获取结果
  4. 终端显示处理进度和统计

💡 专业建议:特别适合处理从PDF/网页复制的文本内容,有效解决格式混乱问题,输出标准化可编辑文本。

import os
import re

def clean_and_split_text(input_file, output_file):
    """处理文本:删除符号、智能分行、删除空行、移除标点"""
    with open(input_file, 'r', encoding='utf-8') as f:
        text = f.read()
    
    # 1. 删除「」》《【】
    text = re.sub(r'[「」》《【】]', '', text)
    
    # 2. 智能分行处理
    # 先处理特殊标点组合
    text = re.sub(r'(\?!+)', lambda m: m.group(0) + '\n', text)  # ?!组合在!后分行
    text = re.sub(r'(!!+)', lambda m: m.group(0) + '\n', text)   # !!组合在最后一个!后分行
    # 处理其他单个标点
    text = re.sub(r'([,。?!、;’":}{,.](?!\W))', r'\1\n', text)
    
    # 3. 删除分行后的中文,。和英文,
    text = re.sub(r'[,。,]', '', text)
    
    # 4. 删除空白行(包括仅含空格的行)
    processed_text = os.linesep.join(
        [line.strip() for line in text.splitlines() if line.strip()]
    )
    
    with open(output_file, 'w', encoding='utf-8') as f:
        f.write(processed_text)

def batch_process_txt_files(input_dir, output_dir):
    """批量处理:保持原文件名,输出到新目录"""
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
    processed_files = 0
    for filename in os.listdir(input_dir):
        if filename.endswith('.txt'):
            input_path = os.path.join(input_dir, filename)
            output_path = os.path.join(output_dir, filename)
            clean_and_split_text(input_path, output_path)
            print(f"✓ 已处理: {filename}")
            processed_files += 1
    
    return processed_files

if __name__ == "__main__":
    input_folder = "input"
    output_folder = "output"
    
    print("="*40)
    print(f"{'文本处理工具':^40}")
    print("="*40)
    print("\n正在处理文件...\n")
    
    try:
        count = batch_process_txt_files(input_folder, output_folder)
        print(f"\n▶ 共处理 {count} 个文件")
        print("\n处理完成,程序将自动退出。")
    except Exception as e:
        print(f"\n⚠ 发生错误: {str(e)}")
分行按标点

给TA打赏
共{{data.count}}人
人已打赏
python代码应用软件工具

文本4200字分割

2025-6-22 17:41:23

汤屋炖煮汤料

🍳鸡蛋冬瓜汤

2025-6-22 18:19:36

个人中心
购物车
优惠劵
今日签到
搜索