列表去重排序
把名单、关键词、编号列表粘贴进来:自动去重(可忽略大小写)、按字母/数值/长度排序,分隔方式自动识别换行、逗号、空格,处理完显示原始条数与删除数量。
去重是整理名单、关键词、编号列表时最常用的操作:一列里混着重复的邮箱、手机号或关键词,需要保留一份并看清删掉了多少。这个工具自动识别分隔方式(换行、逗号、空格),去重的同时可选忽略大小写并按规则排序,处理完会显示原始条数与删除数量。
两点需要留意:去重默认保留首次出现的那一条,所以结果顺序与原文一致,若同时勾选排序就会按新顺序重排;另外分隔方式选「自动识别」时按换行、逗号、空格的优先级切分,文本里既有逗号又有换行时优先按换行切,跨行的一条数据不会被误拆。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 粘贴列表内容,分隔方式保持「自动识别」即可(一行一条或逗号分隔都能处理)。
- 按需勾选忽略大小写(Apple 与 apple 视为重复)与排序方式。
- 看统计里的原始条数与删除数量,确认符合预期。
- 这是破坏性整理,建议先把原文复制一份留存。
计算原理与示例
分隔方式与切分规则
分隔方式选「自动识别」时按 换行 > 逗号 > 空格 的优先级切分;一行一个、逗号分隔都能直接粘。
排序规则
排序选「数值升序」时按数字大小排(10 会排在 2 后面);字母排序时 100 会排在 2 前面。
去重与忽略大小写
勾选「去重时忽略大小写」可把 Vue 和 vue 视为同一条目,保留首次出现的大小写形式。
代码示例
Shell 命令行去重与排序
# 去重且保留首次出现顺序
awk '!seen[$0]++' list.txt > unique.txt
# 去重 + 排序
sort -u list.txt > sorted.txt
# 忽略大小写去重
sort -fu list.txt > case-uniq.txt
# 对比条数
printf "去重前 %s 条 → 去重后 %s 条\n" "$(wc -l < list.txt)" "$(wc -l < unique.txt)"
JavaScript 忽略大小写去重(保序)
const dedupe = (arr, ignoreCase = false) => {
const seen = new Set();
return arr.filter((x) => {
const k = ignoreCase ? x.trim().toLowerCase() : x.trim();
if (seen.has(k)) return false;
seen.add(k);
return true;
});
};
dedupe(['Apple', 'apple', 'Banana'], true); // ['Apple', 'Banana']
dedupe(['b', 'a', 'b']).sort(); // ['a', 'b']
常见问题
去重后顺序会变吗?
默认「保持原序」时,去重只删除重复项,保留每条首次出现的位置,顺序不变;只有选了排序方式才会重排。
能处理多少条数据?
单次上限 20 万字符,几千行的名单、关键词列表都没问题。全部在浏览器本地处理,不上传服务器。
中英文混合的列表可以吗?
可以。去重按字符精确匹配,排序时中英文按 Unicode 顺序混合排列;忽略大小写只影响英文字母。
怎么去除重复的手机号或邮箱?
把列表直接粘贴进来(每行一个或用逗号分隔),工具会按整行文本比对去重,并显示原始条数与删除数量。邮箱建议勾选「忽略大小写」,因为邮箱地址不区分大小写,ABC@x.com 与 abc@x.com 属于同一地址。
去重是按整行还是按某一列?
按整行文本去重。如果每行是「姓名, 电话」这样的复合内容,只要整行不完全相同就不会被删除。需要按某一列去重时,请先只保留该列再处理,或先把该列提取到独立的一行一条。
排序会不会影响去重结果?
不会。去重得到的是「保留首次出现、删除重复项」的集合,之后再排序只改变显示顺序,集合内容不变。若想确认删掉了哪些重复项,可先看去重后提示的删除数量,再决定是否保留原顺序。
Excel 里几万行数据能用吗?
可以。纯文本处理在浏览器本地完成,几万行通常很快;但界面渲染大量行会占用内存,建议处理完立即复制结果备用。数十万行以上的大表建议用 Excel 自带的「删除重复项」或命令行工具。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。