名单去重、编号排重、把一堆地址里的省份统一改掉 —— 这类活在文本里做比在 Excel 里做更快,也更少误伤。TXT 处理 是整页行处理,不需要表头、不要求是表格文件。

去重:只删「整行一模一样」

删除重复行的规则是保留首次出现的位置,可选忽略大小写。这两个细节决定了它适合做什么:

  • 顺序不变,所以处理完的名单还是原来的录入顺序,能和对账单逐行对照
  • 判定是整行,所以必须先把首尾空格去掉 —— 「张三 」和「张三」在计算机里不是重复行。这一页正好有「去除行首尾空格」,顺序是:先去空格、再去重
  • 忽略大小写只对英文有效。中文同音字、繁简体、全角半角都不算重复,需要人工判断

排序:两种依据结果完全不同

按 Unicode 码位排序,中文实际是按字符编码位置排,看起来像乱序;按中文拼音排序才是人能读的顺序。

拼音档同时具备数字感知,abc2 排在 abc10 前面。这一条对编号清单至关重要:普通字符排序会把 10 排在 2 前面,因为「1」小于「2」。有升序与降序可选。

查找替换:支持正则并显示命中次数

对整个文本执行,可区分大小写,可启用 JavaScript 正则语法,并显示命中次数。 命中次数这一项很实用 —— 它能在替换前就告诉你预期对不对:本来该命中 200 处却显示 3 处,多半是表达式写错了。

三个常用的正则写法(这一页不解析行内代码,所以下面按文字描述):

  • 合并句中多余空格:查找两个及以上连续空格,替换成单个空格
  • 删掉行尾多余空格:用行尾锚点匹配空格
  • 把「(」和「(」统一:分别匹配全角与半角括号再替换成同一种

什么时候该回 Excel 处理

多列联合判重(「姓名 + 日期 + 金额」三列都一样才算重复),文本工具做不到 —— 它只认整行。这种应该用 Excel 的删除重复项,并且按 删除重复项之前先确认三件事,否则会把正常数据删掉 的规矩先备份再操作。

要保留单元格格式、公式、多个 Sheet 的,也必须在 Excel 里做。文本处理只负责纯文本。

从 Excel 拿出来再放回去的技巧:复制单元格区域后粘贴进文本框,得到的是制表符分隔的一行一条;处理完可以回 Excel 用「分列」还原,或用 CSV 转换 的 CSV 转 TSV 再粘回去。

顺手能做的检查

统计项给出行数、字符数(含空白与不含空白)、中文字符数、按输出编码计算的字节数。 去重完看行数变化就知道删了多少条,不用自己数。

「只含空格的行也算空行」这条对从网页复制来的内容特别有用 —— 那种段落间的空白行里往往藏着一个空格,肉眼看不出、删空行时会被一起处理掉。

全程在浏览器本地完成,文件不上传服务器、不占每日转换次数、不需要登录。名单、通讯录、含个人信息的编号列表都可以直接粘。