简单介绍Idea使用正则表达式批量替换字符串的方法
这篇文章给大家介绍了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使用正则表达式批量替换字符串的方法相关推荐
- shell :linux sed 批量替换字符串
linux sed 批量替换字符串 一月 21, 2014 ( No Comments ) Linux下批量替换多个文件中的字符串的简单方法.用sed命令可以批量替换多个文件中的字符串. 命令如下: ...
- 服务器上批量替换html内的字符,如何批量替换字符串中的某个特定字符?
如何批量替换字符串中的某个特定字符? 发布时间:2020-05-26 05:06:20 来源:51CTO 阅读:569 作者:小陈子057 前两天领导突然给了我一个excel文件(该文件的编码只是简单 ...
- 正则表达式批量替换 单引号
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><ti ...
- 批量替换字符串,将其中的数字递增(两种方法)和circlr.js插件的使用
使用circlr.js插件实现3D效果的时候,不想在JS中写追加,直接写html又太麻烦(使用的是HBuilder X),所以找到了两种批量替换字符串,将其中的数字递增的方法. 想要实现的效果: 1. ...
- Vim正则表达式匹配替换字符串
/*********************************************************************** Vim正则表达式匹配替换字符串* 说明:* 用Vim用 ...
- mysql正则替换字符串某些内容_mysql基于正则实现模糊替换字符串的方法分析
本文实例讲述了mysql基于正则实现模糊替换字符串的方法.分享给大家供大家参考,具体如下: 例如: abcd(efg)hijk 替换之后是abcdhijk 复制代码 代码如下: update taba ...
- java和js中替换字符串的方法
//java中字符串的替换方法: String a = "吴林飞-1a_,唐姐-2,周帅-3"; String f = a.replaceFirst("-", ...
- VSCode正则表达式匹配字符串,并批量替换字符串
例如我要替换如下所示的字符串,前半部分相同,后面的值不同: "LONG_NE_CNT": "36", ... "LONG_NE_CNT": ...
- php 数组 批量替换字符串,php数组替换字符串
PHP5常用函数 PHP已经更新到很多个版本,最近用的比较多的要数PHP5.下面我们为大家总结了PHP5常用函数,以便大家将来实际编写代码中查看. pathinfo返回文件路径的信息 ,包括以下的数组 ...
最新文章
- JDBC连接mysql数据的7个步骤(讲解+源码)
- 记一次因坏块引起的dataguard恢复
- 程序的格式框架语法元素的名称(Python)
- NYOJ6——喷水装置(一)
- 试解析Tomcat运行原理(一)--- socket通讯(转)
- sql 分组统计_leetcode-sql面试题十七篇精讲合集
- linux java weblogic,Linux java 安装问题
- 正则---让人喜欢让人忧(3)
- git-scm.com下载文件特别慢怎么办,自己拿吧
- 蓝桥杯真题 杨辉三角形 C++
- 小米10系列详细参数对比,小米10 青春版\10\10Pro\10至尊纪念版
- html设置图像边框的属性,css3将图像设置为元素周围边框的方法
- centos设置密码复杂度及最长使用时间
- 微信小程序:中老年用户群体的流量生意如何做?
- 酒店小程序线上线下推广引流策略
- Executors.newFixedThreadPool(int threads)和Executors.newCachedThreadPool()
- python的argc与argv
- apache虚拟主机配置(壹)
- cy7c68013 usb 开发经验
- 计算机报录比多少算高,报录比多少合适?怎么算好考?我来告诉你答案