在线工具箱
文本去重

文本去重工具

按行 / 分隔符精确或模糊去除重复项,可忽略大小写、空白与标点,并统计重复次数。

隐私安全:所有处理均在您的浏览器本地完成,数据绝不上传
去重文本清洗模糊匹配效率

输入文本与去重结果

边输入边去重,无需点击按钮
粘贴文本后这里会显示「原始 N → 剩余 M(去除 K)」统计。
0 行 · 0 字符
0 行 · 0 字符

去重选项

分隔方式
去重模式
规范化选项(仅影响匹配,不改动原文)
保留策略
输出顺序

重复项统计(出现次数)

暂无可统计的重复项。

    被移除明细

    展开查看被移除的条目

      工作原理

      1. 1先把输入按所选分隔符切分为条目(按行时自动把 CRLF / CR 统一为 LF,并忽略末尾换行产生的空行),再按勾选的规范化选项生成「匹配用的键」——大小写、空白、全半角与标点的处理只影响比较,输出与报告里始终是你输入的原文。
      2. 2精确模式把规范化后的键存入 Map:键已存在即判定为重复,记录它「与第几个原始条目重复」,未出现过则登记为新条目,因此保留顺序时等价于「未排序的 uniq」。
      3. 3模糊模式先为每个条目建立字符 bigram 集合,相似度取两个集合的 Jaccard 值(交集大小 ÷ 并集大小)。利用「Jaccard ≤ min(|A|,|B|) ÷ max(|A|,|B|)」这一性质,只把集合大小落在区间 [t·|A|, |A|/t] 内的历史条目作为候选,避免逐对两两比较,大幅降低计算量。
      4. 4相似度达到阈值即视为重复并并入同一组;同一组内按保留策略决定留下第一次还是最后一次出现的原文,组内所有出现位置都会被记录下来用于重复次数统计。
      5. 5条目数超过 2 万时模糊去重会自动降级为精确去重并在页面给出提示(超长单行的 bigram 计算会取首尾采样以控制内存),最终结果可复制、下载或导出为 Markdown 报告。

      常见问题

      精确去重和系统命令 uniq / sort -u 有什么区别?

      精确模式在保持原始顺序的前提下只保留每组重复项的第一次出现,语义与「未排序的 uniq」一致;勾选「顺便排序」后会先按文本排序再输出,效果接近 sort -u。区别在于本工具不需要排序即可去重,且支持自定义分隔符与多项规范化。

      模糊去重的阈值怎么理解?

      阈值是两条内容被视为重复所需的最低相似度,采用字符 bigram 集合的 Jaccard 相似度(0~100%)。阈值越高越严格,只合并高度雷同的内容;阈值越低越激进,容易把只是用词相近的内容合并。默认 80%,例如「Hello World」与「hello world!」在开启忽略大小写与忽略标点后即可判重。

      忽略大小写、空白这些选项会改动我的文本吗?

      不会。规范化只用于生成「匹配用的键」,判断是否重复看的是规范化结果,而输出、被移除明细与报告中的内容始终是你输入的原文,所以「苹果」和「 苹果 」会被判为同一项,但输出里仍是它们各自的原始写法。

      「忽略全部空白」和「压缩连续空白」有什么不同?

      压缩连续空白把连续的空格、制表符替换为单个空格并保留词间分隔,适合排版被重排的场景;忽略全部空白则把所有空白字符整体删除,适合中文文本、编号或代码片段中空格被随意插入的场景。两者同时勾选时以「忽略全部空白」为准。

      空行为什么会被算作一项?怎么处理?

      按行切分时空行也是一个条目,因此默认会参与去重(多个连续空行只会保留一个)。若希望直接删掉所有空行,勾选「去除空行」即可;工具只会忽略末尾换行符产生的那一个空串,不会误删正文中的空行。

      文本会上传到服务器吗?可以断网使用吗?

      不会。切分、规范化、相似度计算与导出全部在浏览器本地完成,不发起任何网络请求,也不依赖任何第三方服务或 CDN,断网状态下功能完整可用,关闭页面后输入内容即消失。

      更多在线工具