用^和$正则替换可一次性为每行加双引号:查找^(.*)$替换为"$1";若跳过空行则用^([^\r\n]+)$;注意转义特殊字符、统一换行符、关闭自动换行及bom干扰。

直接用 ^ 和 $ 配合正则替换,就能给每行加双引号;列编辑只适合极短、对齐完美的文本,一碰空行或缩进不齐就出错。
用 ^ 和 $ 一次性包裹整行
不是“先加开头再加结尾”,而是用一个正则把头尾一起包住。Notepad++ 支持在一次替换中同时匹配行首和行尾位置,避免两次操作导致的错位或漏行。
- 打开
Ctrl+H→ 勾选「正则表达式」→ 不勾「匹配换行符」 -
查找目标填^(.*)$(.*匹配任意字符,$确保到行尾) -
替换为填"$1"($1是捕获组内容,双引号是字面量) - 点「全部替换」——所有非空行、空行都会变成
""或"xxx"
跳过空行和纯空白行
如果只想包裹“有实际内容”的行(比如导出 CSV 字段、生成 SQL 字符串),默认的 ^(.*)$ 会把空行也变成 "",这往往不是你想要的。
- 改用
^([^ ]*S[^ ]*)$:确保行中至少有一个非空白字符(S) - 更实用的写法是
^([^ ]+)$,它排除了空行(+要求至少一个字符),但保留含空格的行(如hello world) -
替换为仍填"$1";注意别写成"$0",Notepad++ 不支持$0表示整行(仅支持$1、$2等捕获组)
特殊字符要转义,尤其是双引号本身
你要加的是英文双引号 ",它在 Notepad++ 正则里不是元字符,不用转义;但如果你加的是其他符号(比如 $、、.),就得小心。
- 想加
"$var"?替换为必须写成"$var"——否则$被当行尾,结果变成"var" - 想加路径
"C: empile.txt"?得写成"C:\temp\file.txt"(每个都要双写) - 不确定要不要转义?把内容粘进
查找目标框试一下:报「无效正则」就说明有未转义元字符
加完发现引号歪了或漏了,先看这三处
真正卡住人的往往不是正则写错,而是文档状态干扰了匹配逻辑。
- 检查换行符是否统一:菜单栏「编辑 → 文档格式转换」里确认是 Windows(
)或 UNIX()格式,混用会导致部分行被$跳过 - 确认「. 匹配换行符」没勾选:一旦勾上,
.*会吞掉换行符,整篇变一行 - 关闭「视图 → 自动换行」:开启后长行视觉折行,
$只匹配物理行尾,看起来像漏掉几行
最易忽略的是:空行里其实藏着不可见的 BOM 或控制字符,这时候 ^ 和 $ 会失效。遇到死活不全中的情况,先「编码 → 转为 UTF-8 无 BOM」再试。











