常见问题
自然排序和普通排序差在哪?
普通排序按字符逐个比较,item10 会排在 item2 前面;自然排序把连续数字当数值比,item2 在前,符合人的直觉。
会顺便去重吗?
不会。排序只改变顺序,去重请用文本去重工具。
能忽略大小写吗?
可以,勾选后大小写不影响先后顺序,但仍保留原始大小写输出。
关于这个工具
四种方式的差别在「拿什么比」:升序 / 降序按字符逐个比较(实际是 UTF-16 码位),自然升序 / 自然降序先把每行切成「连续数字段」和「非数字段」交替比对,数字段按数值大小比 —— 于是 item2 排在 item10 前面、v1.9 排在 v1.10 前面,而普通排序的结果正好相反。
按码位比较有两个直接后果:大写字母排在小写字母前面(A 是 65、a 是 97),所以 Apple 会跑到 apple 前面,勾「忽略大小写」才能让大小写不影响顺序;中文既不按拼音也不按笔画,而是按 Unicode 码位(大致等于该字在字符表里的位置)。要拼音序得先转成拼音再排,本页不做这件事。
排序键取的是每行 trim 后的内容,输出也是这个版本,行首行尾空格会消失;「去空白行」默认勾选,空行不参与排序也不出现在结果里。取消勾选后空行按空字符串处理,升序时会全部挤到最前面。
排序是稳定的:两行排序键相同(比如只差大小写而勾了忽略大小写)时,保持原来的相对顺序,不会被随机打乱。行内的多个空格和制表符不压缩,参与比较的是原样的行内容。这个工具只改顺序不去重,重复行原样保留 —— 先去重再排序,通常能得到干净的唯一列表。