⭐ 觉得好用?收藏备用,下次直接打开
输入 文本 A
文本 B
结果

文本去重工具 把一段文本按指定分隔符切成若干项,去掉重复、统计频次,或对两段文本做并/交/差集运算。全部在浏览器本地完成,粘贴的内容不会上传。

三种模式

模式输出典型用途
去重去重后的项(可选:全集 / 只重复 / 只唯一)名单合并、SQL 结果清洗
频次统计次数\t内容,可按次数或内容排序日志 top N、错误码分布
集合运算A∪B / A∩B / A−B / B−A / A△B两份清单对账、差异盘点

比较键与原始形态分离

每项先按选项(trim / 小写 / 删空白)归一化为”比较键”去判重,输出时回退到首次出现的原始字符串。意味着开”忽略大小写”去重 Apple / apple,结果是 Apple 而不是 apple,保留了用户的书写。

分隔符支持

换行、逗号、分号、空格(连续空白算一个)、制表符,或自定义任意字符串。输出会用同一个分隔符拼回——粘进来什么分隔,导出就什么分隔。

sort -u / uniq 的差异

本工具默认保留首次出现顺序,不强制排序。排序是可选项,且支持按字母、按频次多种。

📍使用场景

  • 名单 / 邮件列表合并多人收集的手机号、邮箱、学号合并后一键去重,保留首次出现的原始形态。
  • 日志 / SQL 结果分析频次模式输出"次数↓内容",一眼看出哪条错误、哪个用户请求最多。
  • 两份清单对账集合运算找出 A 有 B 没有的项(如新增订单、离职员工),或取交集留共同项。
  • 文本行清洗爬虫抓来的数据顺手去空行、合并大小写不同的重复、按字母排序。

常见问题

去重后保留的是哪一条?

保留首次出现的那条原始形态。举例:输入 Apple / apple / APPLE 并开启"忽略大小写",输出只保留 Apple(最早出现的那条),不会变成全小写。这样既合并了重复,又保留了用户原本的书写形式。

"忽略首尾空白" 和 "忽略全部空白" 有什么区别?

忽略首尾空白(默认开)只对每项 trim() 后再比较——开头结尾的空格、制表符被忽略,内部空白保留。忽略全部空白更狠——把每项里所有的空白字符(空格、制表符、换行)统统删掉再比较,所以 a babhello worldhelloworld 会判定相同。合并"格式混乱粘贴数据"时用它,代价是牺牲内部空白的语义。

频次统计的输出能直接粘到 Excel 吗?

可以。输出格式是 次数\t内容(制表符分隔),粘进 Excel / WPS / Google Sheets 会自动拆成两列——左列次数、右列原文。按次数列降序排好,方便直接做透视。CSV 工具链也可以改分隔符为逗号。

集合运算的 A∪B / A∩B / A−B / A△B 分别是什么?

A∪B(并集)——两边所有项去重后合并,A 的先出现。A∩B(交集)——两边共同出现的项。A−B(差集)——A 有但 B 没有的项(找 A 里的新增/独有)。B−A 同理反过来。A△B(对称差)——两边只在一侧出现的项(合并 A−B 和 B−A),常用于"两份清单的所有差异"。

能处理多大的文本?

十万行以内实时计算毫无压力(Set + Map 的时间复杂度都是 O(n))。百万行量级浏览器会有短暂卡顿(主要是 textarea 渲染慢,不是算法慢)——建议先把文件切成几段处理。全部逻辑跑在本地,粘贴进来的内容不会上传到任何服务器。

和 Linux 的 sort -u / uniq 有什么区别?

uniq 只能合并相邻的重复行(必须先 sort),sort -u 是排序后去重——两者都会改变原顺序。本工具默认保留首次出现顺序,不排序也能去重。另外支持按任意分隔符切分(不止换行)、忽略大小写/空白的单独开关、频次统计、集合运算,这些 uniq 要靠管道拼 awk / comm 才能做。