Notepad++如何将引号内容间任意长度空格批量替换为逗号
引号间空白替换为逗号的实现方法
核心思路是通过正则表达式精准匹配两个闭合双引号之间的任意长度空白字符(包含空格、制表符),替换为逗号,全程不会修改双引号内部的内容(比如"TEST NAME"里的空格会完整保留)。
通用正则替换方案(支持绝大多数现代文本编辑器)
VS Code、Sublime Text、新版Notepad++等常用编辑器都支持该方案,操作步骤如下:
- 打开需要处理的文件,调出替换面板(通用快捷键为
Ctrl+H,macOS系统为Cmd+Option+F) - 勾选替换面板里的「正则表达式」选项(一般为
.*样式的图标) - 在「查找」输入框填入以下正则:
(?<=")\s+(?=")
- 在「替换」输入框填入半角逗号:
,
- 点击全部替换即可完成处理。
替换效果完全匹配需求:
- 原内容:
"X" "Y" - 替换后:
"X","Y" - 引号内带空格的内容比如
"TEST NAME"不会被改动。
命令行快速处理(Linux/macOS终端)
如果需要批量处理大文件,可以用sed命令完成,命令如下:
sed -E ':a; s/(")\s+(")/\1,\2/g; ta' 待处理文件路径
命令逻辑:通过循环匹配双引号之间的空白替换为逗号,直到所有匹配项处理完成,不会遗漏多组相邻引号的空白。
特殊场景适配
如果数据里存在类似示例中"12707081" 7376007 "1234"这种夹在两个引号段之间的无引号数字/文本,需要把这部分的空白也替换为逗号,只需要把查找正则调整为以下内容即可,依然不会破坏引号内部的空格:
\s+(?=")|(?<=")\s+
替换后效果为:"12707081",7376007,"1234"
内容的提问来源于stack exchange,提问作者user19353552
相关产品推荐
相关产品推荐

