AndroidStudio正则表达式替换,反向引用            

     今天遇到了一个问题,之前项目中的Toast是系统样式的。就是底部灰色。想到之前的项目中有一个封装好的蓝底白字的Toast.引进来之后需要替换一下原来的代码就是把

Toast.makeText(LoginActivity.this, "当前网络状态异常", Toast.LENGTH_SHORT).show();

替换成

ToastUtils.showMessage(LoginActivity.this, "当前网络状态异常");

要是手动替换的话,工作量在当前的项目中倒不是太大。但是手动一个一个的替换了大约10分钟后。还是感觉身为程序员不能这样手动干活。于是想到了用正则表达式来全局替换。但是遇到的问题就是替换的字符串不能写死。于是就google了一下(没有百度到)

AndroidStudio regex replace.发现IDEA还真带这个功能如下:

于是这样: 

然后replace all:

 这样就成功了。

两个表达式:

(.*)Toast.makeText\((.*),Toast.LENGTH_SHORT\).show\(\);
$1ToastUtils.showMessage($2);

功能的解释就是在被替换的文本正则中把需要引用的字符串用小括号阔起来,文本中本来带有小括号的需要用\转义。然后再在替换的字符踹中用$1,$2,$3............$n来引用。注意不是从0开始$0标识引用整个表达式。也可以用名字这个我没试

idea的官方帮助地址 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值