如何在Notepad++中处理JSON文本:保留冒号及之前内容并将冒号后内容剪切至剪贴板
如何在Notepad++中处理JSON文本:保留冒号及之前内容并将冒号后内容剪切至剪贴板
没问题!我来帮你搞定这个需求——用Notepad++的正则功能就能轻松实现,分两步走就好:
方法一:正则替换+查找结果复制(最简便,无需插件)
这是Notepad++原生支持的方法,完全够用:
先把要剪切的内容复制到剪贴板
- 打开你的JSON文件,按下
Ctrl+H调出「替换」对话框 - 切换「查找模式」为「正则表达式」,记得不要勾选「.匹配换行符」选项
- 在「查找目标」里输入这段正则:
:\s*"([^"]+)"- 简单解释:这个规则会精准匹配冒号、后面的空格、双引号、引号里的内容(就是你要提取的数值),最后再匹配结束的双引号
- 点击「查找全部」,所有符合条件的内容(比如
: "John"、: "New York")都会列在下方的结果框里 - 按下
Ctrl+A全选这些结果,再按Ctrl+C复制——现在你要的内容已经乖乖待在剪贴板里了
- 打开你的JSON文件,按下
把原文件改成你要的格式
- 回到「替换」对话框,在「替换为」输入框里只输入一个冒号
: - 点击「全部替换」,瞬间所有的
: "xxx"都会变成:,你的文件就变成了想要的样子:{ "Cust_Data": { "First Name": "Last Name": "Email Address": "City": "State": }. "Cust_Account": { "Account Number": "Branch Code": ... }
- 回到「替换」对话框,在「替换为」输入框里只输入一个冒号
补充:处理特殊值类型
如果你的JSON里除了字符串,还有数字、布尔值(true/false)或者null,那把正则改成这个就行::\s*(true|false|null|\d+(\.\d+)?|"[^"]+"),步骤和上面完全一样,能覆盖所有常见的JSON值类型。
备选:用Python脚本一键完成(适合频繁操作)
如果你经常要做这类处理,可以给Notepad++装个Python Script插件,写个小脚本一键搞定:
- 通过Notepad++的「插件管理器」搜索安装Python Script插件
- 新建脚本,粘贴下面的代码:
import re editor.beginUndoAction() content = editor.getText() # 匹配所有JSON值类型 pattern = re.compile(r':\s*(true|false|null|\d+(\.\d+)?|"[^"]+")') # 提取所有值并复制到剪贴板 matches = pattern.findall(content) clipboard_content = '\n'.join([m[0] for m in matches]) editor.setClipboardText(clipboard_content) # 替换原内容为只保留冒号 new_content = pattern.sub(':', content) editor.setText(new_content) editor.endUndoAction() - 运行脚本,就能自动完成剪切和替换,一步到位!
备注:内容来源于stack exchange,提问作者Hodler
相关产品推荐
相关产品推荐

