行排序与打乱
Line Sorter & Shuffler
按字母、数字或长度排序,也可以随机打乱,支持倒序和大小写选项。
给一列文本行排序,排序规则写明而不是默认:含数字的用自然排序,韩文用가나다顺序,按指定语言的规则,按原始码点,按长度,或者真正的随机打乱。同一份列表,每种规则给出的答案都不一样。
行
排序
把数字段落当成数来比较,所以 file9 排在 file10 前面。
排序结果
行数
6
怎么用
先选排序模式
文件名和版本号用自然排序,韩文名字用가나다,中文名字用语言模式并填 zh-CN,只有在你确实要 Array.sort 那种机器顺序时才选码点。
设定方向和大小写规则
默认不区分大小写。区分大小写会把所有大写字母排在所有小写字母前面,名字列表很少需要这样。
需要随机时用打乱
打乱用的是 Fisher–Yates,不是随机比较函数。随机比较函数是错误打乱法的经典案例:有偏差,而且不同引擎给出的分布不同。
常见问题
file10 为什么排在 file9 前面?
这是码点顺序——逐个字符比较时"1"在"9"前面。切换到自然排序,它把连续数字当作数值比较,file9 就会在前。
我的韩文列表排得很奇怪
两个原因。从 Mac 复制的韩文以分解形式存储,会排在所有合成音节前面;码点顺序把拉丁字母放在韩文前面,而韩文惯例是放在后面。가나다模式两个都解决。汉字没有分解形式,中文列表不会遇到第一个问题。
语言模式有什么不同?
它使用那种语言自己的排序表——瑞典语把 å 放在 z 后面,德语对 ä 有两种惯例,捷克语把 ch 当一个字母。填 zh-CN 时用的是 ICU 的中文排序规则,汉字按拼音顺序排列。如果这些都与你的列表无关,自然排序是更好的默认值。
可以从这些接进来
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
列表格式转换
List Formatter
把多行文本转成逗号列表、带引号的 SQL IN 子句、JSON 数组或项目符号列表,也能反着来。
随机抽取
Random Picker
从粘贴进来的名单里抽一个或几个,可以设权重,也可以用转盘演出。
字数统计
Word & Character Counter
统计含空格和不含空格的字符数,以及单词、行、段落和 UTF-8 字节数。
重复行去除
Duplicate Line Remover
删掉重复的行、只留下重复的行,或统计每一行出现了几次。
查找与替换
Find & Replace
按字面、整词或正则表达式替换文本,支持捕获组,并把每一处命中先预览出来。
Markdown 编辑器
Markdown Editor
边写边预览 Markdown,可导出渲染后的 HTML,支持 GFM 表格和任务列表。