文本去重
文本去重,是把一段文本按行、段落或分隔符切成条目,找出重复条目并按你选的策略只保留一条(或反过来只挑出重复项)的免费在线去重工具,常用于名单、手机号、邮箱、关键词表清洗。判重可忽略大小写、空白、标点与全角半角差异,但只影响「算不算重复」,输出保留原写法;保留策略有首次出现、最后一次、只留出现 1 次的与只提取重复项,还能用对照名单做 A-B 差集去重。全程在浏览器本地完成,文本不上传。
一行一条粘进来即可,默认按行去重、忽略大小写与首尾空白。
名单清洗最常用,顺序不变,重复的只留最早那条。
高级选项:判重口径、排序、差集去重
下面这几项只影响「算不算重复」,结果里输出的永远是你原来的写法,不会被改成小写或去掉标点。
🔒 切分、判重与统计全部在你的浏览器本地用 JS 完成,文本不上传任何服务器,也不写入本地存储,关闭页面即清除。 忽略大小写、忽略空白标点等开关只影响「算不算重复」,输出永远保留你原来的写法。
如何使用文本去重
把要去重的内容粘进上面的文本框,或直接拖入 .txt / .csv / .md / .log 文件(单文件 10 MB 以内,按 UTF-8 读取)。
选切分粒度(默认按行,也可按段落或按逗号、Tab 等分隔符)与保留策略(保留首次 / 保留最后一次 / 只留出现 1 次的 / 只提取重复项);需要忽略空格标点或全角半角时,展开「高级选项」再勾。
看统计条给出的「共 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 san 与 ZHANG 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, 而中文说的「去重」默认指的是本页的保留首次出现——两者结果差很多,选之前先看一眼上表右列。