几百行文本,每行都要「掐头去尾再除空行」,手改到崩溃。按行批量处理工具把这类操作做成规则:对每一行统一执行截取、删左右 N 字符、去空行、排序分组,一次粘贴一次出结果。
| 操作 | 效果 | 典型场景 |
|---|---|---|
| 截取前 N 字符 | 每行只保留开头 N 个字符 | 提取编号、取名单姓氏 |
| 删除左侧 N 字符 | 每行掐掉开头 N 个字符 | 去掉行号、统一前缀 |
| 删除右侧 N 字符 | 每行掐掉结尾 N 个字符 | 去掉行尾备注、时间戳 |
| 去空行 | 删除空白行 | 清洗复制来的网页文本 |
| 去重 / 排序 / 分组 | 行级整理 | 名单、关键词表规范化 |
「删除左右 N 字符」按字符数处理,前提是各行结构一致(都是「前缀-内容-后缀」格式)。结构不一致的行先按分隔符拆开再处理。
一条真实案例:把爬取的「用户名 | 注册时间 | 城市」列表变成纯用户名清单——删除右侧到竖线为止的内容(或截取竖线前 N 字符)→ 去重 → 排序,三步完成。
问:中英文混排时字符数怎么算?
按字符(一个汉字=一个字符)计数;含表情等多字节符号时结果可能与直觉有出入,处理前先试几行验证。
问:每行结构不一样(有的有前缀有的没有)?
固定字符操作会误伤,这种情况改用正则的「可选匹配」,或先把不一致的行挑出来单独处理。
问:处理完顺序变了?
排序类操作会重排,若要保持原顺序先不启用排序,或先备份原始顺序。