首页文本与开发 › 文本行排序工具

文本行排序工具

把文本按行排序:字母升降序、按长度、自然数字顺序、随机打乱或整体反转,并可去空行、去重。

     

八种排序方式的区别

升序和降序使用浏览器的本地化比较规则:中文按拼音顺序,英文按字母顺序,默认区分大小写(大写字母排在同名小写之前),勾选“忽略大小写”后 Apple 与 apple 视为同级。自然数字顺序是很多人真正需要的那一种:普通字符串排序会把“第10章”排在“第2章”前面,因为比较的是字符“1”小于“2”;自然顺序会识别出字符串里的数字片段并按数值比较,于是得到第 1、2、9、10 章的正确次序,处理文件名、章节号、版本号时非常有用。

按长度排序先比较每行的字符数,长度相同时再按拼音字母排序,常用于找出过长的标题、超字数的短句或异常数据。整体反转不做任何比较,只是把行的顺序颠倒过来,适合把按时间追加的日志改成最新在前。随机打乱使用浏览器的加密级随机数配合 Fisher–Yates 洗牌算法,每一种排列出现的概率相等,可用来随机排考题、抽取展示顺序。

处理顺序与使用建议

工具的处理顺序是固定的:先去每行首尾空格,再删空行,然后按需去重,最后才排序。这样“ banana ”和“banana”会先被统一再比较,不会漏掉重复项;去重保留每个内容第一次出现的那一行。结果区会显示原始行数、剩余行数以及分别删掉了多少空行和重复行,方便核对数据有没有被误删。

常见用法包括:把 Excel 某一列复制进来去重排序后再贴回去;整理关键词表、商品编号、IP 名单;把乱序的文件清单按自然顺序排好再批量重命名。需要注意的是,排序只按整行的文本内容,不理解 CSV 的列结构,如果要按第二列排序请先在表格软件里处理。全部运算在浏览器本地完成,几万行文本也能秒级返回,数据不会上传。

常见问题

为什么“第10章”排在了“第2章”前面?

那是按字符逐位比较的结果。请把排序方式改成“自然数字顺序”,工具会识别数字片段并按数值大小排列。

随机打乱是真的随机吗?

使用浏览器的 crypto.getRandomValues 加密级随机源,并采用拒绝采样避免取模偏差,配合标准洗牌算法,每种排列概率相同。

能按第二列内容排序吗?

不能。本工具按整行文本排序,多列数据请先在 Excel 或表格工具中按指定列排序。

中文是按拼音还是按笔画排序?

按拼音。浏览器使用中文本地化的排序规则,与 Excel 的“按拼音排序”结果基本一致。