大家好,又见面了,我是你们的朋友全栈君。
待替换代码如下
(ledger.getPrinciple().intValue() * 100)
需要替换成
((int)(ledger.getPrinciple() * 100))
我们需要怎么做呢?
- ctrl + r 打开文件替换
- 勾选替换选项Regex
- 待匹配行正则表达式逐步分解
- 首先我们看到有三个括号,一个
* 100
,于是有了\(\(\)\(\) \* 100\)
,特殊字符一定要用转义符 - 上述表达式肯定匹配不到内容的,需要加上字母/符号的匹配,
\(.+\(\).+\(\) \* 100\)
- 正则表达式已经匹配上,但我们还要将我们需要的字符串取出来,也就是
ledger.getPrinciple()
,用小括号括上,于是有了\((.+\(\)).+\(\) \* 100\)
- 替换后代码:((int) ($1 * 100)) ,
$1
被替换成第6步里面的那一串ledger.getPrinciple()
简单解释下:
- 不带
\(
的第一个括号是将其提取,后会在$1
(依次类推$2
,$3
…)被替换 - 其他没有什么特别的,需要稍微有一些正则匹配基础知识
- 重点是在待替换的字符串中找到特殊的关键字符,比如上述的
()
,* 100
等
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127658.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...