编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 文本处理 / 文本排序

文本排序

把多行文本排序。

输入
结果

这个工具能做什么

文本排序把粘贴进来的多行文本当成一行一条记录,按你选的规则重新排列后输出。日常整理清单时,手动一行行调顺序既慢又容易漏,几百行的名单、词表或配置项尤其折腾;这个工具一次点击就能完成升序、降序、按长度或反转顺序的行排序。它同时提供去除首尾空格、去掉空行、去除重复行三个开关,让排序文本和清洗一步到位。中文条目默认按拼音顺序排列,不会出现汉字乱序的情况。

排序的核心是把整段文本按换行符切成字符串数组,再对数组做比较排序,也就是纯粹的按行排序。文本按字母排序时,英文和数字大体沿 Unicode 码位UTF-8 编码对应的字符先后)比较,中文则借助浏览器的本地化排序能力(Intl.Collator,locale 设为中文)折算成拼音再比大小,因此“北京”会排在“上海”之前。按长度排序比较的是每行的字符个数而非字节数,一个汉字和一个字母都算一个字符。反转顺序不做大小比较,只是把当前各行的先后颠倒,常用来配合已排好序的数据取倒序。去重基于整行内容完全相等来判断,空格差异会被视为不同行,所以通常建议先勾选去除首尾空格再去重。

最常见的用法是整理各类清单:把一份杂乱的域名黑名单粘进来,勾选去空行和去重、选升序,几秒就能得到一份干净、有序、便于二分查找和 diff 对比的列表。写配置文件时也很实用,比如 hosts、gitignore 或 requirements.txt 里的条目做一次文本按字母排序后,团队协作的改动 diff 会更清晰,减少无意义的顺序冲突。做词表、字典或翻译对照时,按拼音升序排列中文词条能快速定位和查漏。按长度排序则适合挑异常数据,例如把一堆手机号或 key 按长度排一遍,位数不对的脏数据会集中到两头,一眼就能发现。

有几个边界情况需要留意。去重只在完全相同的整行之间生效,大小写不同、全角半角不同或含有不可见字符(如制表符、零宽空格)的行会被当作不同内容保留,必要时先做统一再排序。按长度排序统计的是字符数,含 emoji 或部分生僻字时,这类字符在底层可能占两个编码单元,长度会比肉眼看到的偏大。此外这类纯排序工具不改动行内文字本身,不做大小写转换、编码替换等处理,需要那类操作应搭配其他文本工具。整个过程都在浏览器本地完成,文本不会上传服务器,粘贴敏感的配置或名单也不必担心外泄。

文本排序是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“文本排序”、“行排序”、“按行排序”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

中文是按拼音还是按笔画排序?
默认按拼音顺序,底层用浏览器 Intl.Collator 的中文 locale 完成折算,拼音靠前的字排在前面。暂不支持按笔画数或部首排序。
排序时区分大小写吗?为什么同一字母的大小写会挨在一起?
采用本地化比较,字母大体不严格区分大小写,所以“a”和“A”会相邻排列。如果需要严格按 ASCII 码位(大写全部排在小写前)区分,可先把文本统一成一种大小写再排。
支持按数字大小排序吗?比如让 2 排在 10 前面。
工具按文本规则逐字符比较,纯数字会当字符串处理,“10”会排在“2”之前。若要真正的数值大小排序,目前不支持,建议先给数字补零对齐位数再按字母排序。
去重会保留哪一行?会不会把顺序打乱?
去重按整行内容是否完全相等判断,重复行只留一份。最终各行的先后完全由你选择的排序方式决定,与去重本身无关。
处理几万行的大文本会卡吗?数据安全吗?
排序在浏览器本地内存中完成,普通几万行文本基本瞬间出结果,也不会上传服务器。行数极大(如百万级)时可能受浏览器内存限制而变慢。

相关工具

查看全部「文本处理」工具 →