如何用Notepad++正则处理两类问题:移除指定行尾字符及JSON行尾逗号
解决Notepad++正则处理的两个文本问题
我来帮你搞定这两个用Notepad++结合正则表达式处理文本的问题,都是日常工作里经常碰到的场景,直接上可落地的方案:
问题1:行内包含指定字符串时,移除该行的行尾字符
假设你要定位的指定字符串是TargetString(你可以换成自己需要的内容),我们需要精准匹配包含该字符串的行,然后删掉行尾的字符(这里默认是行末换行前的单个字符,如果要删多个可以调整正则)。
操作步骤:
- 打开Notepad++,按
Ctrl+H调出替换窗口 - 切换到「正则表达式」模式,确保没有勾选「匹配换行符」
- 输入以下内容:
- 查找模式:
^(.*TargetString.*)(.)$ - 替换为:
$1
- 查找模式:
- 点击「全部替换」即可
正则说明:
^和$:分别匹配行的开头和结尾,确保我们处理的是整行内容(.*TargetString.*):捕获包含指定字符串的整行主体内容(.):捕获行尾的单个字符(如果要移除多个连续的行尾字符,比如一堆空格或符号,把(.)改成(.+)就行)- 替换时只保留捕获的主体内容,去掉行尾字符
问题2:移除JSON中包含FullName键的行末尾的逗号
这个场景太常见了——生成的JSON里,某些包含特定键的行末尾多了逗号,导致JSON格式报错。我们可以精准定位这些行并去掉多余的逗号。
假设你的目标行格式类似:
"FullName": "Alice Smith",
操作步骤:
- 打开Notepad++,按
Ctrl+H调出替换窗口 - 切换到「正则表达式」模式,不要勾选「匹配换行符」
- 输入以下内容:
- 查找模式:
^(.*"FullName".*),\s*$ - 替换为:
$1
- 查找模式:
- 点击「全部替换」
正则说明:
^和$:锁定整行范围(.*"FullName".*):捕获包含"FullName"键的整行内容(除了末尾的逗号和空白),:精准匹配行尾的多余逗号\s*:匹配逗号后面可能存在的空格、制表符等空白字符(避免漏删这些冗余空白)- 替换后只保留主体内容,去掉逗号和后续空白
额外小提示:
处理完JSON后,建议用Notepad++的JSON格式化工具(比如自带的「JSON Viewer」插件)验证一下格式,确保没有语法错误。
内容的提问来源于stack exchange,提问作者René K
相关产品推荐
相关产品推荐

