这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

由于一开始的粗放扩张,公司项目代码里,遗留有很多类似魔法数的写死的id,导致现在维护困难。于是交给我任务,将这些id替换成静态变量。

这些id有十多种,分布在十个文件中,总共六十多处,要手动去查找替换几乎是不可能的。

Idea中,菜单栏Edit->find->replace in path可以打开全文件查找功能,可以对项目的所有文件中的内容进行查找替换。

现在我们有这样的代码,其中的abcd是写死的id:

String id="abcd".equals(str);

要替换成:

String id=ConstantService.getBy("abcd").equals(str);

如果只用普通的匹配,我会想到查找"String id=\"",替换成"String id=ConstantService.getBy(\""。

然而在项目中"String id=\""这样格式的代码是非常多的,普通的匹配很可能误伤到其他代码。

因此我使用正则匹配。点击右边的".*"图标打开正则匹配模式。

需要替换的代码符合这样的匹配模式:

String id=\"(\w+)\".equals\(str\);

可以替换成:

String id=ConstantService.getBy("$1").equals(str);

匹配模式中,写死的id可以用\"(\w+)\"表示。最外侧是转义的引号。括号代表一个匹配组,其中的\w匹配字符,+号表示字符出现1或多次。这样的模式符合项目中写死id。

替换串中$1代表匹配串中的第一个匹配组。因此,我们不用一次次的指定每个id,替换串自动将匹配的id替换到结果中。

这样,这项本来令人难以想象的复杂工作就轻松解决了。到此这篇关于Idea使用正则表达式批量替换字符串的文章就介绍到这了。

简单介绍Idea使用正则表达式批量替换字符串的方法相关推荐

  1. shell :linux sed 批量替换字符串

    linux sed 批量替换字符串 一月 21, 2014 ( No Comments ) Linux下批量替换多个文件中的字符串的简单方法.用sed命令可以批量替换多个文件中的字符串. 命令如下: ...

  2. 服务器上批量替换html内的字符,如何批量替换字符串中的某个特定字符?

    如何批量替换字符串中的某个特定字符? 发布时间:2020-05-26 05:06:20 来源:51CTO 阅读:569 作者:小陈子057 前两天领导突然给了我一个excel文件(该文件的编码只是简单 ...

  3. 正则表达式批量替换 单引号

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><ti ...

  4. 批量替换字符串,将其中的数字递增(两种方法)和circlr.js插件的使用

    使用circlr.js插件实现3D效果的时候,不想在JS中写追加,直接写html又太麻烦(使用的是HBuilder X),所以找到了两种批量替换字符串,将其中的数字递增的方法. 想要实现的效果: 1. ...

  5. Vim正则表达式匹配替换字符串

    /*********************************************************************** Vim正则表达式匹配替换字符串* 说明:* 用Vim用 ...

  6. mysql正则替换字符串某些内容_mysql基于正则实现模糊替换字符串的方法分析

    本文实例讲述了mysql基于正则实现模糊替换字符串的方法.分享给大家供大家参考,具体如下: 例如: abcd(efg)hijk 替换之后是abcdhijk 复制代码 代码如下: update taba ...

  7. java和js中替换字符串的方法

    //java中字符串的替换方法: String a = "吴林飞-1a_,唐姐-2,周帅-3"; String f = a.replaceFirst("-", ...

  8. VSCode正则表达式匹配字符串,并批量替换字符串

    例如我要替换如下所示的字符串,前半部分相同,后面的值不同: "LONG_NE_CNT": "36", ... "LONG_NE_CNT": ...

  9. php 数组 批量替换字符串,php数组替换字符串

    PHP5常用函数 PHP已经更新到很多个版本,最近用的比较多的要数PHP5.下面我们为大家总结了PHP5常用函数,以便大家将来实际编写代码中查看. pathinfo返回文件路径的信息 ,包括以下的数组 ...

最新文章

  1. JDBC连接mysql数据的7个步骤(讲解+源码)
  2. 记一次因坏块引起的dataguard恢复
  3. 程序的格式框架语法元素的名称(Python)
  4. NYOJ6——喷水装置(一)
  5. 试解析Tomcat运行原理(一)--- socket通讯(转)
  6. sql 分组统计_leetcode-sql面试题十七篇精讲合集
  7. linux java weblogic,Linux java 安装问题
  8. 正则---让人喜欢让人忧(3)
  9. git-scm.com下载文件特别慢怎么办,自己拿吧
  10. 蓝桥杯真题 杨辉三角形 C++
  11. 小米10系列详细参数对比,小米10 青春版\10\10Pro\10至尊纪念版
  12. html设置图像边框的属性,css3将图像设置为元素周围边框的方法
  13. centos设置密码复杂度及最长使用时间
  14. 微信小程序:中老年用户群体的流量生意如何做?
  15. 酒店小程序线上线下推广引流策略
  16. Executors.newFixedThreadPool(int threads)和Executors.newCachedThreadPool()
  17. python的argc与argv
  18. apache虚拟主机配置(壹)
  19. cy7c68013 usb 开发经验
  20. 计算机报录比多少算高,报录比多少合适?怎么算好考?我来告诉你答案

热门文章

  1. 如何在Gihub上面精准搜索开源项目?
  2. 钟南山: 疫情可能一周或10天达到高峰! 李兰娟院士:拿到疫苗株可能还要一个月!...
  3. 为什么C语言不会过时?
  4. 清华学霸直博简历火了!CPU、操作系统、编译器全自主写,刘知远点赞
  5. Spring基础专题——第六章(Aop编程)
  6. Python3.5源码分析-Dict概述
  7. Django博客系统(文章分类模型)
  8. 三数之和(三数不重复)
  9. 聊天机器人之环境准备
  10. Python自动化办公系列之Python操作PDF