eclipse巧用正则表达式替换

在工作中,经常碰到重构代码,有些事情明明很简单,但要改的东西太多了,重复工作量太大,所以学点技巧是灰常有用的 :D
首先在Person.java中有这些静态常量,注意至少有40多个静态常量

...
public static final String PREFERENCE_HIDE_HELP_BLOG = "PREFERENCE_HIDE_HELP_BLOG";// 29;
public static final String PREFERENCE_HIDE_HELP_DOCUMENT = "PREFERENCE_HIDE_HELP_DOCUMENT";// 30;
public static final String PREFERENCE_SEND_EMAIL_IN_PLAIN = "PREFERENCE_SEND_EMAIL_IN_PLAIN";// 31;
public static final String PREFERENCE_BROTHERS_ON_SITREPS = "PREFERENCE_BROTHERS_ON_SITREPS";// 32;
...

要把这些静态常量移到Perference.java里,然后问题就来了,在Person.java有大量地方调用了这些静态常量,如果一个一个去改的话,就只有 :x 了,这时就用eclispe的正则替换吧
如图:
[img]http://dl.iteye.com/upload/attachment/200319/c76010fd-1ccc-3761-b102-9fc44e4101b2.jpg[/img]
很简单的两句话,就成功替换所有要改的静态常量

[b]下面来个复杂点的[/b]

要把这一类的方法转换一下(很多,有80多个)

...
public void setSendEmailBirthday(boolean p) throws JawaCodeException { //Birthday Emails
setPreference(Preference.PREFERENCE_SEND_BIRTHDAY_EMAILS, p);
}

public void setSendAnnouncement(boolean p) throws JawaCodeException { //Announcement
setPreference(Preference.PREFERENCE_SEND_ANNOUNCEMENT, p);
}

...

变成这个样子

public void setSendEmailBirthday(boolean p) throws JawaCodeException { //Birthday Emails
Keyword preferenceType = new Keyword(Keyword.PROPERTY_STRINGVAL, Preference.PREFERENCE_SEND_BIRTHDAY_EMAILS);
setPreference(preferenceType, p);
}

public void setSendAnnouncement(boolean p) throws JawaCodeException { //Announcement
Keyword preferenceType = new Keyword(Keyword.PROPERTY_STRINGVAL, Preference.PREFERENCE_SEND_ANNOUNCEMENT);
setPreference(preferenceType, p);
}


用下列正则表达式就行了:

[img]http://dl.iteye.com/upload/attachment/200332/f559d792-7cca-36a6-85fc-7d1d4f3cb3cc.jpg[/img]
现在是不是很方便了,不用正则表达式我想怎么也得半个多小时才能做完吧,还容易出错,用了正则表达式只用几分钟,我觉得很COOL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值