Notepad++:如何移除含BROKEN关键字行中的引号?
解决包含BROKEN行的引号移除问题
你的问题出在正则表达式的方向错误:(?=BROKEN)"是匹配后面紧跟BROKEN的引号,但实际BROKEN在引号的前方,所以这个正则无法定位到目标引号。
以下是几种可行的解决方案:
方案1:命令行工具(如sed)快速处理
如果用命令行处理文本,直接针对包含BROKEN的行全局移除引号,简单高效:
sed '/BROKEN/s/"//g' input.txt
解释:/BROKEN/筛选出包含该关键词的行,s/"//g把该行所有引号替换为空。
方案2:正则表达式(支持环视和多行模式)
如果需要用正则编辑器(如VS Code、Sublime)处理,启用多行模式(m flag),使用以下正则匹配目标引号,替换为空即可:
"(?=(?:[^\n]*BROKEN[^\n]*)$)"
或者更兼容的写法(适配多数支持环视的正则引擎):
"(?<=^.*BROKEN.*)"|"(?=.*BROKEN$)"
解释:
(?<=^.*BROKEN.*)":匹配前面行内容包含BROKEN的引号"(?=.*BROKEN$):匹配后面行内容包含BROKEN的引号
两者结合可覆盖该行内所有引号。
内容的提问来源于stack exchange,提问作者i-like-steak
相关产品推荐
相关产品推荐

