如何用Notepad++将JSON中唯一含字母ID批量替换为唯一纯数字ID?
在Notepad++中批量替换混合字符ID为唯一纯数字ID
当然可以实现,给你两种实用方案,按需选择:
方案一:生成随机唯一数字ID(需Python Script插件)
Notepad++本身没有内置随机唯一值生成功能,但可以通过官方插件实现:
- 安装插件:打开Notepad++,点
插件 > 插件管理,搜索「Python Script」安装。 - 新建脚本:点
插件 > Python Script > New Script,命名为ReplaceID.py,粘贴以下代码:
import random used_ids = set() def get_unique_id(): while True: # 生成9位随机数字,要改位数就调整randint的范围(比如6位就写100000,999999) new_id = str(random.randint(100000000, 999999999)) if new_id not in used_ids: used_ids.add(new_id) return new_id editor.beginUndoAction() # 精准匹配ID部分并替换 editor.rereplace(r'"Id": "\K[A-Za-z0-9]+"', lambda m: get_unique_id()) editor.endUndoAction()
- 运行脚本:点
插件 > Python Script > Scripts > ReplaceID,等待完成即可。
方案二:用递增数字快速替换(无需插件)
如果不需要随机,只要求纯数字唯一,这个方法更高效:
- 按
Ctrl+H打开替换窗口,切换到「正则表达式」模式。 - 查找内容:
"Id": "\K[A-Za-z0-9]+" - 替换为:
\N(这是Notepad++的内置变量,会自动生成1、2、3...的递增数字) - 点击「全部替换」,所有ID会被替换成连续的唯一数字。
注意事项
- 替换前一定要备份原JSON文件,防止操作失误。
- 正则里的
\K是关键,它会忽略掉前面的"Id": ",只替换后面的ID字符串,避免破坏JSON结构。
内容的提问来源于stack exchange,提问作者LuiTe
相关产品推荐
相关产品推荐

