【问题标题】:Notepad++ Find/Replace number with Increment ValueNotepad++ 用增量值查找/替换数字
【发布时间】:2016-09-14 23:46:04
【问题描述】:

是否可以在 Notepad++ 中找到一个数字,然后将其替换为增量值?

例如, 查找身份证号:regex \((\d+)

INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (0,"audi","audi");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (1,"BMW","bmw");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (2,"Mercedes","mercedes");

替换为 id + 31:怎么做?

INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (31,"audi","audi");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (32,"BMW","bmw");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (33,"Mercedes","mercedes");

【问题讨论】:

    标签: regex notepad++


    【解决方案1】:

    仅使用正则表达式是不可能的,但您可以在 Notepad++ 中使用 python 脚本。

    步骤如下:

    • 安装Python Script 1.0.8.0
    • 转到插件 -> Python 脚本 -> 新建脚本
    • 选择文件名(例如“increment_numbers.py”)
    • 把这个脚本放在那里:

    代码:

    def increment_after_openparen(match):
        return "({0}".format(str(int(match.group(1))+31))
    
    editor.rereplace(r'\((\d+)', increment_after_openparen)
    

    然后,只需调用这个 'increment_numbers' 脚本。

    【讨论】:

    • 这节省了我一整天的时间。
    【解决方案2】:

    已接受答案的附录。由于代表不足而将其发布为答案

    我注意到较新版本的 Notepad ++ 与此 python 脚本不兼容。我安装了 notepad++ 6.6.9,现在 Python 菜单选项卡显示在插件下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2018-07-04
      • 2010-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多