# 行排序

按 A 到 Z、Z 到 A、自然顺序（file2 排在 file10 前）、码点、数值或长度对文本行排序。

https://codeknife.dev/zh/hang-paixu/

## 功能

对文本行排序。自然顺序把 `file2` 排在 `file10` 前面；其他顺序按所用语言的规则比较文本、比较原始码点、使用行首的数字或使用长度。也可以不排序而直接反转列表。

## 使用方法

1. 每行输入或粘贴一项，或拖入文本文件。
2. 选择顺序。开启 **Z 到 A** 倒序排列，**区分大小写** 让 `a` 与 `A` 不同，或 **忽略行首尾空白** 在比较时去掉首尾空格。行本身保持你输入的样子。
3. 复制或下载排序后的列表。**删除空行** 会先去掉空行。

## 示例

自然顺序与普通文本顺序：

```
file10        file1
file2    →    file2
file1         file10
```

数值顺序使用行首的数字，所以 `10 apples` 排在 `2` 之后，没有数字的行排在最后。

## 须知

- 排序是稳定的：比较相等的行在两个方向上都保持原有顺序。
- 自然顺序和 A–Z 文本顺序使用英语规则。码点顺序在任何地方都相同，当其他程序必须与结果一致时请选它。
- 在码点顺序中，除非关闭区分大小写，否则所有大写字母都排在所有小写字母之前。
- 文本末尾的单个换行会结束最后一行，而不是增加一个空行。

## 什么是自然排序？

普通字母排序逐字符比较，所以 file10 会排在 file2 前面。自然排序把数字当作数值，因此 file2 排在 file10 前面，就像人工排序一样。文件管理器就是这样做的。

## 常见问题

### A–Z 文本与码点顺序有什么区别？

A–Z 文本遵循语言规则：é 紧挨着 e，大小写差异最后才考虑。码点顺序比较原始字符编码，所以所有大写字母都排在小写字母前，é 排在 z 后。当其他程序需要这种顺序时选它。

### 数值排序如何处理不是数字的行？

它按行首的数字排序，因此 10 apples 排在 2 之后。不以数字开头的行排在后面，按码点顺序。

### 这个工具会把我的行发送到别处吗？

不会。排序在你的浏览器中进行。你输入的内容不会发送到我们的服务器。