文本工具

行排序(字母顺序)

将任意行列表按字母顺序排序,支持 A–Z 或 Z–A。

给这个工具评分

如何使用 行排序(字母顺序)

  1. 粘贴你的列表,每行一项。
  2. 选择 A–Z 或 Z–A。
  3. 复制排序后的结果。

关于 行排序(字母顺序)

这里的排序是按字母顺序,而不是按数值大小,而这个区别造成的困惑比其他任何问题都多。各行是作为文本逐字符比较的,所以“10”会排在“9”之前:比较到“1”和“9”这一位时,发现1更小,于是就此停止。一份从1到20的列表排序后会变成1、10、11……19、2、20、3。任何文本排序工具都不会有别的判断方式,因为“10”是一个字符串,不是一个数字。解决办法是把数字补齐到相同位数——01、02、09、10——这样一来字母顺序就和数值顺序一致了。

比较采用的是本地化感知(locale-aware)方式,而不是对原始码位做排序,因此结果更符合人的直觉,而不是简单计算机排序的表现。带重音的字母会排在其对应的基础字母旁边:“résumé”会紧跟在“resume”之后,而不是被排到“z”之后的角落里。大小写也不会主导排序结果,所以“apple”和“Apple”会排在相邻位置,而不是分别归入大写和小写两个区块——原始排序会把所有首字母大写的单词都排在所有小写单词之前。

Z→A 只是把排序好的列表反转过来。行首的空白字符属于该行的一部分,会排在字母之前,所以缩进和空白行会聚集在最前面;如果这不是你想要的效果,可以先用多余空格清除工具修剪一下。排序还会让重复的行彼此相邻,这与重复行删除工具正好可以配合使用。这一切都在你的浏览器中完成。

常见问题

为什么10排在9前面?

因为排序是按字母顺序,而不是按数值大小。各行是作为文本逐字符比较的,而字符“1”排在字符“9”之前。把数字补齐到相同位数(01、02、09、10),字母顺序就会和数值顺序一致。

排序区分大小写吗?

它采用本地化感知的比较方式,所以大小写不会把列表拆分成两个区块——“apple”和“Apple”会排在相邻位置,而不是分成两组。这与原始的计算机排序不同,后者会把所有首字母大写的单词排在所有小写单词之前。

带重音的单词会排到哪里?

会排在对应的无重音单词旁边。“résumé”会紧跟在“resume”之后排列,而不是排在列表末尾。按字符编码做的简单排序则会把所有带重音的单词都排到z之后。

为什么有些行会排在字母前面,出现在最上方?

空白行以及以空格或制表符开头的行会排在以字母开头的行之前,因为行首的空白字符也是该行的一部分。如果你希望按行的可见内容排序,可以先修剪各行。

排序时会删除重复行吗?

不会。你输入的每一行都会原样返回,只是顺序发生了变化。排序确实会让重复的行彼此相邻,便于发现——如果想去掉它们,可以使用重复行删除工具。