一、问题原因
由于公司需求进行部分内容升级,但是升级过程中发现系统中有部分引用了定义常量值的对象(老代码),又有部分引用的是枚举类对象,如下图所示
老代码:
新代码:
如图所示标红的地方是需要我们去替换的地方,如果只有前边一部分因该大多数人都能够轻松完成替换,但是由于有间隔,后边还需要添加getCode(),很多人也会选择手动去操作,因此会让人很头疼!!!
二、解决方法
解决方式—巧用Idea中的正则表达式!!!
首先附上正则学习网站:https://www.runoob.com/regexp/regexp-tutorial.html
idea中正则开启
替换时我们需要使用到捕获组,使用()表示,然后在IDEA中可以获取$n拿到捕获组中的值,如下所示:
替换规则:
如: (\w+)-(\w+) 可以使用 $1 $2引用分组\l 将字符更改为小写,直到字符串中的下一个字符,例如,BAR 变成 bAR
\u 将字符更改为大写,直到字符串中的下一个字符,例如,bar 变成 Bar
\L 将字符更改为小写,直到文字字符串的末尾,例如,BAR 变成 bar
\U 将字符更改为大写,直到文字字符串的末尾,例如,bar 变成 BAR
- 将java.util替换为util
- 将java.util替换为UTIL
- 将java.util替换为Util
学会以上规则后那个最后我的任务就很容易完成了,替换就完事了,表达式如下: