博客
简体中文

文本行排序 — 按拼音、字母和数字排序

按拼音、字母、长度排序或随机打乱文本行

在浏览器中处理 · 不上传任何内容

0 行 → 0 行(删除 0 行)

功能简介

这个排序工具把每行一项的列表按你想要的顺序排列。可以按拼音给姓名排序、按数字顺序整理文件名、按行的长度排序,或把列表随机打乱。它还能删除重复行和空行,并显示输入和输出的行数。

使用方法

  1. 把列表粘贴到输入框,每行一项。
  2. 选择排序方式:按字母/拼音、按长度或随机打乱。
  3. 设置选项:“倒序”按降序排列,“按数字大小排序”按数值比较数字,“忽略大小写”和“忽略首尾空格”会改变比较方式。
  4. 需要时开启“删除重复行”或“删除空行”。
  5. 复制结果。随机模式下,点击“重新打乱”得到新的顺序。

工作原理

  • 按字母/拼音:使用以本页语言(中文)为准的 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 洗牌和无偏的范围选取。只有再次点击“重新打乱”时顺序才会变化,切换其他选项不会改变顺序。

我的数据会被上传吗?

不会。排序完全在浏览器中进行。

没找到想要的工具?