文本去重

文本去重,是把一段文本按行、段落或分隔符切成条目,找出重复条目并按你选的策略只保留一条(或反过来只挑出重复项)的免费在线去重工具,常用于名单、手机号、邮箱、关键词表清洗。判重可忽略大小写、空白、标点与全角半角差异,但只影响「算不算重复」,输出保留原写法;保留策略有首次出现、最后一次、只留出现 1 次的与只提取重复项,还能用对照名单做 A-B 差集去重。全程在浏览器本地完成,文本不上传。

拖入 .txt / .csv 文件,点击选择
文本不上传 · 浏览器本地去重 · 也可直接粘贴 · 单文件 ≤ 10 MB

一行一条粘进来即可,默认按行去重、忽略大小写与首尾空白。

名单清洗最常用,顺序不变,重复的只留最早那条。

高级选项:判重口径、排序、差集去重

下面这几项只影响「算不算重复」,结果里输出的永远是你原来的写法,不会被改成小写或去掉标点。

🔒 切分、判重与统计全部在你的浏览器本地用 JS 完成,文本不上传任何服务器,也不写入本地存储,关闭页面即清除。 忽略大小写、忽略空白标点等开关只影响「算不算重复」,输出永远保留你原来的写法。

如何使用文本去重

1

把要去重的内容粘进上面的文本框,或直接拖入 .txt / .csv / .md / .log 文件(单文件 10 MB 以内,按 UTF-8 读取)。

2

选切分粒度(默认按行,也可按段落或按逗号、Tab 等分隔符)与保留策略(保留首次 / 保留最后一次 / 只留出现 1 次的 / 只提取重复项);需要忽略空格标点或全角半角时,展开「高级选项」再勾。

3

看统计条给出的「共 N 条 → 去重后 M 条,删除 K 条重复」,然后复制结果、下载 .txt,或展开重复清单查看每条重复了几次;需要从总名单里剔除另一份名单时,在高级选项里打开「差集去重」。

关于文本去重的常见问题

在线文本去重会上传我的内容吗,安不安全?
不会上传。文本去重的切分、判重与统计全部在你的浏览器里用 JavaScript 完成,页面没有任何一次把内容发往服务器的请求,关闭或刷新页面即全部清除。本页也不写入 localStorage 等本地存储——文本内容不写,你选的粒度、判重开关等参数偏好同样不保存,每次打开都是同一套默认值(按行、忽略大小写与首尾空白、保留首次出现)。所以处理客户名单、手机号、内部邮件列表这类内容也可以放心使用。
文本去重不改变顺序吗,结果会被打乱吗?
默认完全保持原顺序。工具只是把后出现的重复条目删掉,留下来的条目相对位置与你粘进来时一模一样,中间的空行默认也按原位置保留(可在高级选项里勾「同时删除空行」一并删除)。如果你选了「保留最后一次出现」,顺序会改为按每条最后一次出现的位置排列,这是该策略的语义决定的。想主动改排序也可以:高级选项里可切换「按出现次数从多到少」或「按内容排序(中文与数字自然序,第 2 项排在第 10 项前面)」。
手机号去重和邮箱去重怎么忽略空格标点?
「忽略大小写」和「忽略首尾空白」默认就开着,所以邮箱「Zhang@QQ.com」与「zhang@qq.com」、行尾多打一个空格的「张三 」与「张三」都会被判为同一条。手机号名单的写法更杂,再展开「高级选项」勾两项就能对齐:勾「忽略全部空白」后「138 0000 0000」与「13800000000」判同(中间的空格、Tab、全角空格 U+3000 都不算数),再勾「忽略标点符号」后「138-0000-0000」也一并判同;另有「全角半角归一」,可让「ABC123」与「ABC123」判同。要注意的是带国家码的「+8613800000000」与「13800000000」多了三位数字,属于内容不同,不会被判为重复,这类前缀需要先统一再来去重。还要特别说明:这五个开关只影响「算不算重复」,输出结果永远是你原来的写法,不会被改成小写,也不会被删掉标点或空格。
文本去重后统计重复次数,怎么找出重复的行?
把「保留哪一条」选成「只提取重复项」,结果区就只输出重复过的条目(每组一条),下方的重复清单表会按出现次数从多到少列出每条重复内容、出现次数、首次与末次出现的序号,可以一键复制成「内容+次数」两列文本直接贴回 Excel。序号跟着你选的切分粒度走:按行去重时是行号,按段落时是第几段,按分隔符时是第几个条目,表头会同步改叫法。清单默认显示前 200 组,点「展开全部」可以看完整名单,不会静默截断;手机上这张表会自动变成一行一张卡片,不用左右拖。如果你想要的是相反的结果——把重复过的都删光只留独一份,请选「只留出现 1 次的」。
一长串关键词表去重,怎么按逗号分隔去重?
把「切分粒度」改成「按分隔符」,然后从预设里选英文逗号、中文逗号、空格、Tab、分号或竖线;预设里没有的可以选「自定义…」自己填,支持多字符分隔符(例如 --> )。这里有个容易踩的坑本工具已经处理好了:`.`、`|`、`*`、`(`、`[` 这类正则元字符会按字面字符切分,不会被当成正则表达式解析,所以用竖线或点号分隔的内容也能正确切开。去重后结果默认用同一个分隔符拼回去,方便直接粘回原来的地方;如果你更想一条一行地核对,把结果区的「输出排版」切成「每行一条」即可——预览、复制结果与下载 .txt 三者始终按同一个排版输出,不会出现「屏幕上一行一条、复制出来却是一长串」的落差。
Excel 一列去重后怎么原样粘回表格?
在 Excel 里选中那一列复制,直接粘进本页文本框——从表格复制出来的一列天然就是一行一条,用默认的「按行」切分即可,去重后点「复制结果」再粘回表格新的一列就行,行与行的顺序不会变。有三点要提醒:一是本页按整行内容判重,做不到「只按手机号那一列判重、保留整行其余列」,多列数据请交给表格类工具;二是如果某个单元格内部本身有换行(Alt+Enter 打的),复制出来会被拆成多行,去重前先确认一下;三是数字列粘进来是文本,像 001 和 1 会被当成两条不同内容,需要的话先在 Excel 里统一格式。结果也可以下载成 .txt,文件自带 UTF-8 BOM,用 Excel 打开不乱码。
两个名单对比去掉重复的怎么做差集去重?
展开「高级选项」打开「差集去重(A 减 B)」,把总名单粘在上面的文本框、已处理过的名单粘在下面的对照名单框,结果就是「A 里去掉所有在 B 中出现过的条目」再去重后的内容,统计条会额外告诉你有多少条是因为命中对照名单被剔除的。对照名单使用与主文本完全相同的切分与判重口径(同样忽略大小写、空白等),所以两边格式略有差异也能正确匹配。注意这是单向的 A−B,B 里多出来的条目不会被加进结果。
文本去重和文本处理工具箱有什么区别?
工具箱是多功能页,去重只是其中一个选项,只能按行去重、只能保留首次出现;本页是去重专项页,多了按段落与按分隔符切分、忽略全部空白/标点/全角半角三档判重口径、四种保留策略、重复次数与首末行号清单、差集去重,以及「共 N 条 → 去重后 M 条」的结论式统计。如果你要的是排序、大小写转换、去空行或字数统计,请用工具箱那一页更合适,两页可以配合使用。
文本去重能识别错别字或相似内容吗?
不能,本工具做的是精确去重:只有在你选定的归一化规则下完全相同的条目才会被判为重复。也就是说「张三丰」和「张三峰」、「北京市朝阳区」和「北京朝阳区(含空格差异以外的写法差异)」不会被自动合并,编辑距离、相似度、语义去重都不在本工具范围内。简繁体不同的两条(如「軟件」与「软件」)也不会判同,需要的话可以先用简繁转换工具把全文统一成一种字体,再回来去重。
文本去重最多能处理多少行,几十万行会卡吗?
建议在 10 MB 或 100 万条以内。2 万条以下会在你输入时实时去重、无需点按钮;超过 2 万条会自动切换成「点开始去重 + 进度条」模式,计算过程分片进行并可随时取消,不会让浏览器直接假死。超过 100 万条时只处理前 100 万条,并在结果上方明确提示已处理的条数,不会静默丢内容;差集去重时的对照名单同样有这条上限,一旦超出也会单独提示「超出部分不会被剔除」,不会让你以为已经剔干净了。结果超过 5000 条时页面只预览前 5000 条(同样有明确提示),但「复制结果」与「下载 .txt」拿到的都是完整数据。
文本去重打开 txt 文件中文乱码怎么办?
拖进来的 .txt / .csv / .md / .log 一律按 UTF-8 读取。如果文件是 GBK / ANSI 编码(老版 Windows 记事本另存、或从 Excel 直接导出的 csv 常见),页面会直接提示「该文件不是 UTF-8 纯文本,请另存为 UTF-8 后重试」并拒绝载入,不会先给你一屏问号乱码再去重。两种解决办法:用记事本打开后「另存为」把编码改成 UTF-8 再拖进来;或者干脆全选复制、粘贴进文本框——粘贴走的是系统剪贴板,不经过文件编码,永远不会乱码。去重结果下载的 .txt 会自动带上 UTF-8 BOM,用 Windows 记事本或 Excel 打开同样不乱码。
手机上能免费在线文本去重吗,要装软件吗?
能,手机浏览器直接打开本页就能用,不用装 App、不用注册、完全免费也不加水印。去重照样在手机本地算,内容不上传。移动端专门适配过:重复清单那张四列表会自动变成一行一张卡片,出现次数与首末次序号一屏看得全,不用左右拖;高级选项默认收起,不占屏幕;手机上不方便拖文件时,长按粘贴文本即可。

文本去重怎么判断两条内容算重复?

工具先把文本切成条目,再给每个条目算一个「比较键」,键相同就算重复。 比较键按固定顺序生成:先做全角半角归一,再转小写,再去标点,最后处理空白——顺序是固定的, 这样「A.B」这类全角标点才能被正确识别成标点。下面五个开关决定这个键怎么算:

  • 忽略大小写(默认开)「Zhang San」与「ZHANG SAN」判为同一条关掉后这两条会被当成两个人。适合:英文姓名、邮箱、域名、关键词表
  • 忽略首尾空白(默认开)「张三」与「 张三 」判为同一条关掉后行尾多打一个空格就会漏删。适合:从网页或 Excel 粘贴过来的名单
  • 忽略全部空白「北京 朝阳区」与「北京朝阳区」判为同一条默认关闭,中间的空格算内容的一部分。适合:地址、公司名、手机号中间被打了空格
  • 忽略标点符号「张三,13800000000」与「张三 13800000000」判为同一条默认关闭,逗号、破折号都算内容。适合:通讯录、从表格里复制出来的「姓名+电话」
  • 全角半角归一「ABC123」与「ABC123」判为同一条默认关闭,全角字母与半角字母不同。适合:从 Word / Excel / 输入法带出来的全角数字字母

最重要的一条是:归一化只用来判断重复,不会改写你的文本。 例如「ABC」「abc」「Abc」三行在默认口径下算同一条,保留首次出现时输出的是原原本本的ABC,不会被小写化;勾了「忽略标点」也不会把结果里的逗号删掉。 另外,换行符 CRLF/CR 会先统一成 LF、文件开头的 UTF-8 BOM 会被剥离, 避免同样的内容因为来自不同系统而被判成两条。

文本去重保留一条,到底保留哪一条?四种策略怎么选

  • 保留首次出现每组重复只留最早出现的那条,其余删掉,顺序完全不变。适用场景:名单、手机号、URL 清洗——这是 90% 的人要的默认行为。
  • 保留最后一次出现每组重复只留最后出现的那条,输出顺序按末次出现位置排。适用场景:日志、聊天记录、追加型数据里同一个 key 要取最新那次的值。
  • 只留出现 1 次的把所有重复过的条目全部删掉,只剩从头到尾只出现过一次的。适用场景:找「只报名了一次的人」「只出现一次的错误码」这类独一份的数据。
  • 只提取重复项反过来只输出重复过的条目,每组一条,并列出出现次数与首末次行号。适用场景:查名单里谁重复报名了、哪些手机号被录入了两遍、关键词表里哪些词撞车。

不确定选哪个时,先用默认的「保留首次出现」看统计条:共 N 条 → 去重后 M 条,删除 K 条重复(重复项 G 组), 就知道这份数据里到底有多少重复;想看具体是哪些重复了,再切到「只提取重复项」查清单。 需要按 CSV 的某一列去重(比如只按手机号列判重、保留整行)请用表格类工具, 本页处理的是纯文本条目;两份文本要逐行比对差异而不是去重,用 文本对比 更合适; 去重完还要按拼音、长度、数字大小排一遍或随机打乱,用 文本排序; 还要大小写转换、去空行或字数统计,用 文本去重/排序/大小写工具箱; 简繁混排的名单建议先用 简繁转换 统一后再来去重。

文本去重实例:一份报名名单去重后是什么结果

直接看一个算例。把下面这份 6 行的报名名单粘进来,用默认设置(按行切分、忽略大小写与首尾空白、保留首次出现), 结果是 3 条:

  • 输入 6 行:张三李四zhang san张三ZHANG SAN 李四 (第 6 行前后各多了一个空格)
  • 输出 3 条:张三李四zhang san——注意留下来的是首次出现的原写法, 第 5 行的全大写没有覆盖第 3 行的小写。
  • 统计条:共 6 条 → 去重后 3 条,删除 3 条重复(重复项 3 组)

这 3 组判同分别由 3 个不同的口径促成:第 1、4 行是内容完全相同;第 3、5 行靠默认开启的「忽略大小写」; 第 2、6 行靠默认开启的「忽略首尾空白」。把任意一个开关关掉,结果就会多出一条—— 例如关掉「忽略大小写」后输出变成 4 条,zhang sanZHANG SAN 会被当成两个人。 同一份数据换成「只提取重复项」,输出的就是这 3 组重复内容本身,并标出各出现 2 次、首末次分别在第 1/4、2/6、3/5 行; 换成「只留出现 1 次的」则一条不剩,因为这 6 行正好两两重复——这也是判断「名单里有没有人只报了一次」的快速办法。

名单去重工具怎么设?常见去重说法对照表

同一件事,不同场景的人叫法差很远,设置也各不相同。下面这张表把常见说法逐条翻译成本页的具体设置: 左列是你手上的活儿通常怎么叫,中列是要动哪个下拉框或勾选框,右列是设完之后结果长什么样。 照着设一次就不用再靠试错。

常见说法在本页怎么设结果是什么
去掉重复的行、重复内容删除按行切分 + 保留首次出现(都是默认值,不用动)每组重复只剩最早出现的那条,其余整行删掉
文本去重保留一条同上;这里的「保留一条」指的就是保留首次出现不是随机留一条,留下的是最早那次的原写法
去重不改变顺序高级选项里的结果排序保持默认的「保持原顺序」留下的条目相对位置与你粘进来时完全一致
忽略大小写去重判重口径「忽略大小写」默认已勾,不用另设abc 与 ABC 判为同一条;关掉后它们算两条
名单去重工具、txt去重在线粘贴名单,或直接拖入 .txt / .csv(10 MB 以内)按行去重后可复制结果,或下载带 BOM 的 .txt
手机号去重再勾「忽略全部空白」与「忽略标点符号」两项138 0000 0000 与 138-0000-0000 判为同一条
邮箱去重用默认口径即可,不必动高级选项Zhang@QQ.com 与 zhang@qq.com 判为同一条
Excel 一列去重在表格里复制整列粘进来,仍用默认的按行切分去重后复制粘回表格新的一列,行序不变
关键词表去重、按逗号分隔去重切分粒度改成「按分隔符」,预设里选英文逗号一长串词去重后仍用同一个逗号拼回去
去重后统计重复次数保留策略选「只提取重复项」重复清单按次数从多到少列出次数与首末次序号
只留出现一次的行保留策略选「只留出现 1 次的」重复过的条目全部删掉,只剩独一份的那些
两个名单对比去掉重复的高级选项里打开「差集去重(A 减 B)」并粘入对照名单A 里凡在 B 出现过的条目都被剔除,再去一遍重

英文语境下这类工具通常叫 remove duplicate lines、text dedupe online 或 deduplicate text, 搜 remove duplicate lines from text、unique lines online 找到的多半也是同一件事。 有个命名差别值得留意:英文工具常把「只留出现 1 次的」单独叫 unique lines 或 unique only, 而中文说的「去重」默认指的是本页的保留首次出现——两者结果差很多,选之前先看一眼上表右列。