列表转换器

在线处理列表:更换分隔符、去空格、去重、去空行、排序、反转、打乱、添加前后缀。适合快速生成 SQL IN 子句。

重塑列表:更换分隔符、清洗、排序、为每项加包裹。 粘贴一列数值,即可得到逗号分隔字符串、带引号的 SQL IN 子句或类 JSON 数组。所有选项实时生效,且按固定顺序执行:拆分 → 清洗 → 大小写 → 排序 → 包裹 → 拼接。

处理值列表的实用技巧

各步骤的执行顺序

理解处理流程能让结果可预期。输入先按所选分隔符拆分,然后去除首尾空白,再丢弃空项,接着移除重复项,之后应用大小写转换,然后排序,再加上前后缀,最后拼接。由于去重发生在大小写转换之前,Appleapple 会被视为不同项——如果想合并它们,先转成小写再把结果粘回来跑第二遍。

常见用法

  • 表格列转 SQL —— 粘贴整列,按换行拆分,前缀和后缀都设为单引号,用逗号拼接。得到 'a','b','c',可直接放进 IN (...)
  • 逗号列表转成一列 —— 按逗号拆分,用换行拼接,并开启去空白以清除逗号后通常带的那个空格。
  • 给导出数据去重 —— 按换行拆分,勾选移除重复项,通过项数统计即可知道去掉了多少条。
  • 构造 JSON 数组 —— 前后缀设为双引号,用逗号拼接,再手动在两端补上方括号。

排序注意事项

字母排序使用 localeCompare,它遵循你所在语言环境的重音和大小写规则,而不是原始码点顺序。对人类可读的列表来说这通常正是想要的效果,但也意味着不同浏览器语言环境下结果可能略有差异。数值排序会解析每项开头的数字,因此 10 会正确排在 9 之后;开头不是数字的项位置不确定。

关于去空白

去空白默认开启,因为当列表来自电子表格或复制的终端输出时,看不见的尾随空白是导致比较失败最常见的原因。

开源说明:基于 JavaScript 原生字符串与数组方法实现,未使用第三方库。

常见问题

如何把表格中的一列变成 SQL IN 子句?
按换行拆分,用逗号拼接,前缀和后缀都设为单引号。输出结果可直接粘贴到 IN 子句的括号内。
为什么 Apple 和 apple 没有被去重?
去重在大小写转换之前执行,比较的是原始字符串。可以先转成小写,把结果粘回输入框,再执行一次去重。
为什么带重音的词排序位置出乎意料?
排序使用 localeCompare,遵循你所在语言环境的排序规则而非原始码点顺序。对人类可读文本来说,这通常是更自然的结果。
自定义分隔符留空会怎样?
空的拆分分隔符会把文本打散成单个字符,因此工具会改为把整段输入当作一项。空的拼接分隔符则会把所有项直接连在一起。
数值排序如何处理非数字项?
它会解析每项开头的数字。开头没有数字的条目无法有意义地排序,其位置不确定。
有数量限制吗?
没有硬性限制,但全部运算在浏览器标签页内完成,因此几十万行的超长列表在输入时可能会有卡顿。