Idea使⽤正则表达式批量替换字符串的⽅法
由于⼀开始的粗放扩张,公司项⽬代码⾥,遗留有很多类似魔法数的写死的id,导致现在维护困难。于是交给我任务,将这些id替换成静态变量。
这些id有⼗多种,分布在⼗个⽂件中,总共六⼗多处,要⼿动去查替换⼏乎是不可能的。
Idea中,菜单栏Edit->find->replace in path可以打开全⽂件查功能,可以对项⽬的所有⽂件中的内容进⾏查替换。
现在我们有这样的代码,其中的abcd是写死的id:
String id="abcd".equals(str);
要替换成:
String By("abcd").equals(str);
如果只⽤普通的匹配,我会想到查"String id=\"",替换成"String By(\""。
然⽽在项⽬中"String id=\""这样格式的代码是⾮常多的,普通的匹配很可能误伤到其他代码。
因此我使⽤正则匹配。点击右边的".*"图标打开正则匹配模式。
需要替换的代码符合这样的匹配模式:
String id=\"(\w+)\".equals\(str\);
可以替换成:
正则匹配方法String By("$1").equals(str);
匹配模式中,写死的id可以⽤\"(\w+)\"表⽰。最外侧是转义的引号。括号代表⼀个匹配组,其中的\w匹配字符,+号表⽰字符出现1或多次。这样的模式符合项⽬中写死id。
替换串中$1代表匹配串中的第⼀个匹配组。因此,我们不⽤⼀次次的指定每个id,替换串⾃动将匹配的id替换到结果中。
这样,这项本来令⼈难以想象的复杂⼯作就轻松解决了。
到此这篇关于Idea使⽤正则表达式批量替换字符串的⽂章就介绍到这了,更多相关idea正则表达式批量替换内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论