Text/Clean

把列表转换为 SQL IN 子句·JSON 数组·Markdown·HTML 列表

把每行一个的值列表转换为SQL IN子句、JSON数组、Markdown列表和HTML列表的方法。结合示例讲解加引号、用逗号连接,以及值内含引号时的处理顺序。

要把 Excel 某一列或记事本里每行一个的值列表放进代码或文档,就需要给它们加上引号并用逗号连接。值有好几百个时,手工处理很困难。基本原理是两个操作的组合:用 在行首行尾添加字符 在每行首尾添加字符,再用 删除换行(合并为一行) 把各行连成一行。

SQL IN 子句

内置配方先整理空格、删除空行、删除重复,然后给每一行加上单引号,并用 , 连接。

配方列表 → SQL IN 值
  1. 删除首尾空格
  2. 删除空行
  3. 删除重复行
  4. 在行首行尾添加字符
  5. 删除换行(合并为一行)
用此配方打开工具
A-1001
A-1002
 A-1003

A-1001

上面的输入会变成下面这一行。

'A-1001', 'A-1002', 'A-1003'

把结果粘贴到 WHERE code IN () 之间即可。如果连括号也想在工具里加上,请在最后添加一个正则模式的 查找替换,查找内容填 ^(.*)$,替换内容填 IN ($1)。连接完成后只剩一行,所以整体会被包裹一次。

值中含有单引号时

如果值中有单引号,比如 O'Brien,就会变成 'O'Brien',导致 SQL 语法错误。SQL 字符串中的单引号需要写两次,所以请在加引号之前加入一个查找替换步骤,查找内容填 ',替换内容填 ''。如果顺序反了,刚加上的外侧引号也会被加倍。

'O''Brien', 'D''Angelo'

如果是数字列表,不加引号直接连接才对。请在配方中关闭“在行首行尾添加字符”这一步。

这个方法是用来快速生成列表的。在程序中把用户输入放进 SQL 时,不要拼接字符串,请使用数据库库提供的参数绑定。

JSON 数组

  1. 如果值中有反斜杠,请把查找替换设为普通模式,在关闭“将 \n \t 解释为换行和制表符”的状态下,把 \ 替换为 \\
  2. 用同样的方式把 " 替换为 \"。必须先处理反斜杠,刚插入的反斜杠才不会再被加倍。
  3. 用“在行首行尾添加字符”在行首加 ",在行尾加 "
  4. 应用删除换行,选择“自定义”,分隔符为 ,
  5. 在结果前后加上 []。也可以用上面的正则方法,写成 ^(.*)$[$1]
["北京", "上海", "广州"]

Markdown 列表

项目符号列表只要在“在行首行尾添加字符”的“添加到行首的字符”中填入 - 即可。需要编号列表时,请使用 添加行号,并把格式设为 {n}. 。如果原文已经带有编号或项目符号,请在前一步加入 删除行号·项目符号,先把它们删掉。

- 北京
- 上海
- 广州

HTML 列表

  1. 如果值中含有 &<,请用查找替换先把 & 替换为 &amp;,然后再把 < 替换为 &lt;。顺序反了的话,&lt; 中的 & 会被再次替换。
  2. 用“在行首行尾添加字符”在行首加 <li>,在行尾加 </li>
  3. 把结果放在 <ul></ul> 之间。
<li>北京</li>
<li>上海</li>
<li>广州</li>

生成正则表达式的候选列表

如果想把关键词列表合成一个正则表达式,请在删除换行的分隔符中填入 |,得到 苹果|梨|葡萄 这样的形式。如果值中含有 . ( + 这类正则符号,请先把查找替换设为正则模式,查找内容填 [.*+?^${}()|[\]\\],替换内容填 \$&,在符号前面加上反斜杠。

a\.b|\(c\)|1\+1

其他语言的数组

Python 列表和 JavaScript 数组同样是用双引号包裹字符串、用逗号连接,这一点与 JSON 数组相同,所以直接按上面的 JSON 步骤操作即可。如果一行太长不便阅读,也可以在“添加到行尾的字符”中填入 ",,省略删除换行,让每行保留一个值。这种情况下,最后一个值后面的逗号请手动删除。JSON 不允许末尾逗号。

以制表符分隔的一行

如果想把纵向列表横向粘贴到电子表格的一行中,请在删除换行的分隔符中填入 \t。把以制表符连接的结果粘贴到一个单元格中,值就会依次分到右边的各个单元格里。

注意

  • 添加字符之前要先删除首尾空格,才不会出现 ' A-1003' 这种空格跑进引号里的情况。
  • “在行首行尾添加字符”默认开启“跳过空行”,但在删除换行之前先删掉空行,结果更容易检查。
  • 做好的流水线可以命名保存为配方,下次就能立即重复同样的转换。

检查清单

  • 遵循 整理空格 → 删除空行 →(删除重复)→ 转义 → 首尾添加 → 连接 的顺序。
  • 转义要在加引号之前进行。
  • 数字值不加引号直接连接。

最后更新: 2026-09-23