文本行排序 — 按拼音、字母和数字排序
按拼音、字母、长度排序或随机打乱文本行
在浏览器中处理 · 不上传任何内容
功能简介
这个排序工具把每行一项的列表按你想要的顺序排列。可以按拼音给姓名排序、按数字顺序整理文件名、按行的长度排序,或把列表随机打乱。它还能删除重复行和空行,并显示输入和输出的行数。
使用方法
- 把列表粘贴到输入框,每行一项。
- 选择排序方式:按字母/拼音、按长度或随机打乱。
- 设置选项:“倒序”按降序排列,“按数字大小排序”按数值比较数字,“忽略大小写”和“忽略首尾空格”会改变比较方式。
- 需要时开启“删除重复行”或“删除空行”。
- 复制结果。随机模式下,点击“重新打乱”得到新的顺序。
工作原理
- 按字母/拼音:使用以本页语言(中文)为准的 Intl.Collator,比较前先做 Unicode NFC 规范化。汉字通常按拼音排序,英文字母按字典顺序排序。
- 按数字大小排序:使用排序器的 numeric 选项,连续的数字作为一个数比较。
- 忽略大小写:大写和小写视为相同,比较结果相同的行保持输入顺序。关闭时,同一个字母的小写排在大写前面。
- 按长度:按 Unicode 字符数排序,长度相同时按字母/拼音顺序。
- 倒序:反转比较结果。排序是稳定的,相同的行保持输入顺序。
- 删除重复行:在排序前保留第一次出现的行。
- 删除空行:在排序前删除空行,包括只含空格或制表符的行。
- 随机打乱:用 crypto.getRandomValues 进行无偏的 Fisher-Yates 洗牌。
示例
| 输入 | 选项 | 结果 |
|---|---|---|
| 香蕉、苹果、橙子、西瓜 | 按拼音 | 橙子、苹果、西瓜、香蕉 |
| pear、Apple、banana | 按字母,忽略大小写 | Apple、banana、pear |
| file10、file2、file1 | 默认 | file1、file10、file2 |
| file10、file2、file1 | 按数字大小排序 | file1、file2、file10 |
| 北京市、上海、乌鲁木齐 | 按长度,倒序 | 乌鲁木齐、北京市、上海 |
常见问题
中文是按什么顺序排的?
按浏览器的 Intl.Collator 使用本页语言(中文)比较,主流浏览器通常按汉语拼音排序,例如 橙子、苹果、西瓜、香蕉。具体结果取决于浏览器内置的排序规则。
什么是按数字大小排序?
它把连续的数字按数值比较。关闭时,file10 会排在 file2 前面;开启后顺序是 file1、file2、file10。
随机打乱有多随机?
使用浏览器的加密随机数生成器(crypto.getRandomValues),配合 Fisher-Yates 洗牌和无偏的范围选取。只有再次点击“重新打乱”时顺序才会变化,切换其他选项不会改变顺序。
我的数据会被上传吗?
不会。排序完全在浏览器中进行。