行排序
按 A 到 Z、Z 到 A、自然顺序(file2 排在 file10 前)、码点、数值或长度对文本行排序。
代码示例
可直接复制到你自己的项目中。每个示例只使用该语言的标准库,因此无需安装任何东西。
const lines = ['file10', 'file2', 'file1']
const sorted = lines.toSorted(new Intl.Collator('en', { numeric: true }).compare)
console.log(sorted.join('\n'))功能
对文本行排序。自然顺序把 file2 排在 file10 前面;其他顺序按所用语言的规则比较文本、比较原始码点、使用行首的数字或使用长度。也可以不排序而直接反转列表。
使用方法
- 每行输入或粘贴一项,或拖入文本文件。
- 选择顺序。开启 Z 到 A 倒序排列,区分大小写 让
a与A不同,或 忽略行首尾空白 在比较时去掉首尾空格。行本身保持你输入的样子。 - 复制或下载排序后的列表。删除空行 会先去掉空行。
示例
自然顺序与普通文本顺序:
file10 file1
file2 → file2
file1 file10
数值顺序使用行首的数字,所以 10 apples 排在 2 之后,没有数字的行排在最后。
须知
- 排序是稳定的:比较相等的行在两个方向上都保持原有顺序。
- 自然顺序和 A–Z 文本顺序使用英语规则。码点顺序在任何地方都相同,当其他程序必须与结果一致时请选它。
- 在码点顺序中,除非关闭区分大小写,否则所有大写字母都排在所有小写字母之前。
- 文本末尾的单个换行会结束最后一行,而不是增加一个空行。
什么是自然排序?
普通字母排序逐字符比较,所以 file10 会排在 file2 前面。自然排序把数字当作数值,因此 file2 排在 file10 前面,就像人工排序一样。文件管理器就是这样做的。
常见问题
A–Z 文本与码点顺序有什么区别?
A–Z 文本遵循语言规则:é 紧挨着 e,大小写差异最后才考虑。码点顺序比较原始字符编码,所以所有大写字母都排在小写字母前,é 排在 z 后。当其他程序需要这种顺序时选它。
数值排序如何处理不是数字的行?
它按行首的数字排序,因此 10 apples 排在 2 之后。不以数字开头的行排在后面,按码点顺序。
这个工具会把我的行发送到别处吗?
不会。排序在你的浏览器中进行。你输入的内容不会发送到我们的服务器。