如何用Notepad++正则表达式移除CSV双引号内的CRLF
移除竖线分隔CSV中双引号内的换行符(CRLF)
用Notepad++的正则替换功能精准处理,只清理双引号内部的换行,不影响字段间的正常换行,步骤如下:
操作步骤
- 打开目标CSV文件,按下
Ctrl+H调出「替换」对话框 - 在「搜索模式」区域,选择「正则表达式」,必须勾选「. 匹配换行符」(这个选项是让正则能跨行匹配引号内的多行内容)
- 分别填入以下内容:
- 「查找目标」:
("(?:[^"]|"")*?)\R - 「替换为」:
$1
- 「查找目标」:
- 点击「全部替换」即可完成处理
正则逻辑说明
":定位双引号的起始位置(?:[^"]|"")*?:非贪婪匹配引号内的内容——要么匹配非引号字符,要么匹配连续两个双引号(CSV里的转义引号格式),确保不会误把转义引号当成引号闭合\R:匹配任意类型的换行符(覆盖CRLF、LF、CR)$1:保留捕获到的引号内有效内容,只去掉换行符
特殊情况调整
如果你的CSV用\"而非""来转义双引号,把查找正则改成:("(?:[^"\\]|\\.)*?)\R
内容的提问来源于stack exchange,提问作者Christoph
相关产品推荐
相关产品推荐

