列表处理解决一件很具体的事:手里有一列数据,需要变成另一种排布。 整条流水线是「拆开 → 清洗 → 重新拼」,每一步都能单独调,结果实时预览。
| 步骤 | 能做什么 |
|---|---|
| 拆开 | 按行 / 按逗号(中英文都认)/ 按空白 / 自定义分隔符 |
| 清洗 | 去首尾空格、去空行、去重、排序(自然序,item2 在 item10 前) |
| 拼回 | 每项加引号和前后缀,选连接符,最后整体包裹 |
('a', 'b', 'c'),单引号按 SQL 惯例转义(1, 2, 3),不加引号["a", "b"]预设只改输出格式,不会动你已经调好的拆分、去重和排序。
单引号按 SQL 惯例翻倍(O''Brien),双引号和反引号按 JS 惯例加反斜杠(\")。这两套不通用——用单引号拼 JS 字符串的场景需要自己确认结果。
所有处理都是浏览器内的字符串操作,数据不出机器,适合处理带真实订单号、用户 ID 的列表。
不会,工具默认会转义。SQL 字符串里的单引号要写成两个(O'Brien),否则引号提前闭合,轻则语法错误、重则变成注入点。选「单引号」时「转义引号」默认开启,按 SQL 惯例把 ' 翻倍。双引号和反引号走的是另一套惯例(加反斜杠 \",JS 风格),因为这两种引号主要用在代码里。如果你用单引号拼的是 JS 字符串而不是 SQL,转义规则对不上,得自己确认。
这是自然序(natural sort),刻意的。普通字符串排序按字符逐位比,"item10" < "item2" 因为 1 < 2,结果 item10 跑到前面——这几乎不是任何人想要的。工具用 Intl.Collator 开了 numeric 选项,数字部分按数值比较,所以 item1 < item2 < item10。中文也按拼音序排,不是按 Unicode 码点。
第一个,其余原样丢弃。去重发生在 trim 和去空行之后、排序之前,所以 "abc" 和 " abc " 在开启「去首尾空格」时算同一项。注意去重区分大小写:ABC 和 abc 是两项。需要忽略大小写去重的话,先用命名转换工具统一大小写再回来。
不会。预设只改输出侧的四项——引号、前后缀、连接符、整体包裹。拆分方式、去空格、去重、排序是你对自己这份数据的判断,换个输出格式没理由重置。所以流程可以是:先调好清洗和排序,再依次点不同预设看结果。
能。「连接」下拉里直接有换行和制表符两项。选「自定义」时输入框里填的是字面文本,打不出真的换行——需要多字符分隔符(比如 " OR ")用自定义,需要换行直接选预设那项。
没有硬上限,全部在浏览器本地用纯字符串操作完成,不上传任何内容。实际感受上几万行是流畅的;十万行以上因为是实时预览(每次输入都重算一遍),输入时会有卡顿——这种量级建议先粘好再调选项。localStorage 会存最近一次的输入和选项作为草稿,可随时清空。