Text Sorter & Deduplicator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand Text Sorter & Deduplicator

按字母顺序排序文本行、移除重复项、去除首尾空白,并可反转顺序。

How it works

输入按换行切分,每一行视为一个条目。去重在排序之前执行,并保留每个值的首次出现,因此在关闭排序时它会保持原始顺序。比较使用浏览器的区域感知排序规则,而不是原始码点顺序,这就是带重音的字母会紧挨着其基字母的原因——"ä" 会落在 "a" 旁边,而不是像朴素的字节排序那样排到 "z" 之后。是否区分大小写是一个开关:关闭时,比较和重复判定都会折叠为小写。

When to use it

  • 在提交之前,把导入列表、允许名单或一组环境变量名按字母排序
  • 把粘贴进来的一列 ID 或邮箱压缩成唯一值
  • 清理从电子表格或 PDF 中复制出来、每行都带尾随空格的列表
  • 产出稳定有序的列表,让同一文件的两个版本能做出有意义的 diff

Watch out for

  • 排序是按字母而不是按数值的。"10" 会排在 "9" 之前,因为比较是逐字符进行的——若需要数值顺序,请先为数字补前导零。
  • 不区分大小写的去重会保留最先出现的那种形式。先给它 "Apple" 再给 "apple",保留的是 "Apple";把输入顺序反过来,保留的就是 "apple"。
  • 去空白默认开启,对缩进敏感的文本而言这是破坏性的。排序 YAML、Python 或 Markdown 列表之前请先关掉它。
  • 区域排序规则不等于字节顺序。如果你这份列表的使用方是按字节比较的程序——数据库索引、受 Git 跟踪的文件、shell 脚本里的 `sort`——两种排序结果可能不一致。

Frequently Asked Questions

不区分大小写的排序是怎么工作的?

不区分大小写的排序会用小写形式比较各行,因此 "Apple" 和 "apple" 视为相等。如果同时启用了去重,则只保留其中一种大小写形式(原始顺序中最先出现的那个)。

如何在保持原顺序的前提下去重?

启用「移除重复项」并关闭排序。各行按顺序处理,每个唯一值的首次出现会被保留,之后的重复项被删除。是否区分大小写会影响什么算作「重复」。

可以按数值排序吗?

当前的排序是按字典序的。"10" 会排在 "9" 前面,因为 "1" < "9"。要实现真正的数值排序,请先给数字补前导零再排序,之后再去掉补位。后续版本会加入原生的数值排序模式。

How to Use Text Sorter & Deduplicator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.