oLoveTools
本地列表工作台

列表排序、去重与合并工具

粘贴、拖入或从其他工具接收一份列表,然后在它之上搭一套配方:排序、去重、筛选、重新编号、与第二份列表合并。每一步都能事后修改,你不添加就什么都不会运行,列表也永远不会离开浏览器。

可以重新排列、可以撤销的配方
真正的 ICU 排序,支持自然数字顺序
与第二份列表做集合运算
公平抽签:加密随机数或种子
列表 A
拆分依据
结果
000.0 ms历史: 0 B · 0更新中…
继续处理
快捷键
Ctrl+Z 撤销Ctrl+Shift+Z 重做Ctrl+Enter 运行待处理的列表Alt 添加相反的操作右键单击 同上,用鼠标完成
操作按住 Alt = 相反操作
顺序
清理
文本
筛选
合并
现成配方
你的配方

还没有任何操作

你的列表原封未动。从上方挑一个操作,它就会落在这里,可以调整顺序、修改参数或关掉。

工作方式

1

把列表拿进来

粘贴、把 .txt 或 .csv 拖到页面上,或者从别的工具接收。它只是被载入——还没有对它做任何处理。

2

叠加操作

你挑选的每个操作都会加进配方,而不是覆盖结果,所以可以调整顺序、事后修改参数,或者关掉它看看它到底做了什么。

3

调整并度量

每一步都会显示它移除或改写了多少项,于是「去除重复」变成一个可核对的数字,而不是一种猜测。

4

带走结果

复制、下载,整理成 SQL 的 IN 列表或 JSON 数组,或者直接送进套件里的另一个工具。

是配方,不是单向编辑

结果由你的列表加上一组有序步骤推导而来。什么都不会被覆盖,所以对第二步改变主意只需一次点击,而不是从头再来。

尊重语言的排序

比较统一走一个按页面语言构建的 Intl.Collator,带自然数字顺序,并可选择忽略大小写与音标差异,而不是每次比较都新建一个排序器。

两份列表,五种合并方式

保留两者都有的、只在 A 中的、互不共有的、二者并集,或者逐项交替。需要时还能忽略大小写和空白差异。

经得起解释的抽签

打乱和抽取使用浏览器的加密随机数,因此抽签结果不可预测。若改用种子,任何知道种子的人都能复现完全相同的抽签。

大列表依然顺滑

超过两万项后整条流程会移到后台线程,超过四十万字符后则等你按下「运行」,而不是自作主张。

以你需要的形态输出

一次点击就能把结果变成带引号的 CSV、JSON 数组、SQL 的 IN 子句、JavaScript 数组、Markdown 列表或 HTML 列表项——也可以自己设定包裹方式。

列表排序

快是因为造法对,不是因为功能少

排序只构建一个 Intl.Collator 并在整趟处理中重复使用。单纯的 A-Z 排序从中获益有限——浏览器本来就会缓存默认排序器——但这正是让那些有用选项变得划算的原因:面对 6 万行,带音标合并的自然数字顺序用重复使用的排序器约需 0.7 秒,而把同样的选项在每次比较时交给 localeCompare 则约需 9 秒,慢了大约十四倍。此外,超过两万项的处理会移到 Web Worker,页面在处理期间照样能滚动,而撤销历史保存的是你的步骤,不是文本的副本。

十九种操作,可自由叠加
以千字节计的撤销历史
支持 CSV、制表符与 regex 拆分输入
不上传,也不保存

私密,因为根本无处可送

没有服务器,没有上传,不对你的内容做任何分析,处理过程中也不涉及第三方脚本。你的列表只存在于标签页的内存里;关掉标签页就是删除键。

为人们手上真实存在的列表而做

设计上就是非破坏性的

结果由你的列表加配方推导而来,因此你做的任何事都不是单向门。关掉某一步就能看清它到底贡献了什么,把它往前拖,改掉十个操作之前添加的编号分隔符,或者撤销最近三十次编辑。在输入框里打字,不会再把你的成果一笔勾销。

列表排序、去重与合并工具

粘贴任意列表,然后叠加你需要的操作:按字母、数字或长度排序,去除或单独挑出重复项,删掉空项,去掉多余空白,改变大小写,按文本或 regex 筛选,重新编号,添加前缀,随机抽取获奖者,或者与第二份列表合并。每一步都是一张卡片,可以调整顺序、修改参数或关掉。

常见问题

Q可以叠加多个操作吗?+

这正是它的核心。你挑的每个操作都会变成配方里的一张卡片,自上而下依次执行。你可以重新排列卡片、事后修改参数、关掉其中一张看它做了什么,或者删掉它——结果每次都会从你的原始列表重新推导。什么都不会被覆盖。

Q编辑输入会毁掉我的操作吗?+

不会。列表和配方是分开的:改动列表,同一套配方会在新文本上再跑一遍。这正是本工具旧版唯一真正的陷阱——那时打一个字符就会把输出重置。

Q为什么排序把 item10 排在 item2 前面?+

因为普通字母顺序是逐字符比较「1」和「2」。把排序卡片切到 1-9,它就改用自然数字顺序,item2 会排在 item10 前面。「长度」按项目字数排序,Aa 则把大小写和音标视作相同。

Q怎么比较两份列表?+

添加一个「与列表 B 合并」操作,第二个输入框就会出现。它可以只保留两份列表都有的项、只保留 A 的、只保留互不共有的、二者并集,或者在两者之间交替。忽略大小写和空白是开关,所以「Ana 」和「ana」可以算作同一项。

Q打乱对抽奖来说够公平吗?+

够。它是基于浏览器加密随机源的 Fisher-Yates 洗牌,并采用拒绝采样,因此每种顺序出现的概率相同——这和常见的 Math.random 做法不同。如果你希望抽签结果可被验证,就填一个种子:事先公布它,事后任何人都能复现完全相同的结果。

Q能处理多大的列表?+

最大 8 MB 的文件,大约相当于五十万行普通文本。超过两万项后处理会移到后台线程,超过四十万字符后工具就不再自动运行,而是等你按「运行」,所以粘贴超大内容也不会卡死标签页。

Q可以手动修改某处吗?+

按下「手动编辑」,结果框就变成可编辑状态,配方随之暂停。你的手动修改有自己的撤销层级,「回到配方」则返回推导出的结果。你也可以从一开始就这样用,完全不添加任何操作。

Q我的列表会被上传到哪里吗?+

不会。每个操作都是在你标签页里运行的普通 JavaScript——不涉及服务器,也没有任何请求携带你的内容。页面加载完成后,断网也照样能用。

关键词

列表排序列表去重列表打乱按字母顺序排序行自然排序列表随机排序比较两个列表列表转逗号分隔列表转 SQL IN 子句给列表编号去除重复
oLoveTools 套件的一部分
oLoveTools

用一套可以撤销的配方排序、去重、筛选并合并列表,全部在你的浏览器里完成。

© 2026 oLoveTools关于

List Mixer | 免费在线列表排序、去重与打乱工具

在浏览器里对列表排序、去重、打乱、筛选与重新排版。十九种可叠加操作,两份列表之间的集合运算,支持 CSV/JSON/SQL 输出。免费,无需上传。

一个列表工作台,而不是十个单一用途的页面

多数列表工具一个页面只做一件事:一个排序,一个去重,一个打乱。要把三个串起来,就得在页面之间来回复制结果,一打错字就前功尽弃。List Mixer 把整条流程作为可编辑的配方保存在同一处,于是「去空白、删空行、去重、自然排序、从 001 开始编号」就是五次点击,而且可以逐个重新排列、重新调参或撤销。

一切都在页面内运行:排序走浏览器自带的 ICU 排序器,打乱走它的加密随机源,大列表则移交 Web Worker,好让标签页保持可用。不上传、不保存,关掉标签页就等于删除你的数据。结果可以输出为纯行、逗号分隔值、JSON 数组、SQL 的 IN 子句、JavaScript 数组、Markdown 列表项或 HTML 列表项——也可以不经下载直接送进另一个 oLoveTools 工具。

常见问题

可以叠加多个操作吗?

这正是它的核心。你挑的每个操作都会变成配方里的一张卡片,自上而下依次执行。你可以重新排列卡片、事后修改参数、关掉其中一张看它做了什么,或者删掉它——结果每次都会从你的原始列表重新推导。什么都不会被覆盖。

编辑输入会毁掉我的操作吗?

不会。列表和配方是分开的:改动列表,同一套配方会在新文本上再跑一遍。这正是本工具旧版唯一真正的陷阱——那时打一个字符就会把输出重置。

为什么排序把 item10 排在 item2 前面?

因为普通字母顺序是逐字符比较「1」和「2」。把排序卡片切到 1-9,它就改用自然数字顺序,item2 会排在 item10 前面。「长度」按项目字数排序,Aa 则把大小写和音标视作相同。

怎么比较两份列表?

添加一个「与列表 B 合并」操作,第二个输入框就会出现。它可以只保留两份列表都有的项、只保留 A 的、只保留互不共有的、二者并集,或者在两者之间交替。忽略大小写和空白是开关,所以「Ana 」和「ana」可以算作同一项。

打乱对抽奖来说够公平吗?

够。它是基于浏览器加密随机源的 Fisher-Yates 洗牌,并采用拒绝采样,因此每种顺序出现的概率相同——这和常见的 Math.random 做法不同。如果你希望抽签结果可被验证,就填一个种子:事先公布它,事后任何人都能复现完全相同的结果。

能处理多大的列表?

最大 8 MB 的文件,大约相当于五十万行普通文本。超过两万项后处理会移到后台线程,超过四十万字符后工具就不再自动运行,而是等你按「运行」,所以粘贴超大内容也不会卡死标签页。

可以手动修改某处吗?

按下「手动编辑」,结果框就变成可编辑状态,配方随之暂停。你的手动修改有自己的撤销层级,「回到配方」则返回推导出的结果。你也可以从一开始就这样用,完全不添加任何操作。

我的列表会被上传到哪里吗?

不会。每个操作都是在你标签页里运行的普通 JavaScript——不涉及服务器,也没有任何请求携带你的内容。页面加载完成后,断网也照样能用。

关键词

列表排序, 列表去重, 列表打乱, 按字母顺序排序行, 自然排序, 列表随机排序, 比较两个列表, 列表转逗号分隔, 列表转 SQL IN 子句, 给列表编号, 去除重复