eclipse巧用正则表达式替换

来源:互联网 发布:如何用淘宝联盟返利 编辑:程序博客网 时间:2024/04/28 09:58

Logger log = Logger\.getLogger\((.*)\.class\);

DMSLogger log =LogServiceImpl.getInstance($1.class).getLogger();




eclipse巧用正则表达式替换

    博客分类:
  • eclipse
正则表达式EclipseJavaBlog工作
  在工作中,经常碰到重构代码,有些事情明明很简单,但要改的东西太多了,重复工作量太大,所以学点技巧是灰常有用的
  首先在Person.java中有这些静态常量,注意至少有40多个静态常量
Java代码 复制代码 收藏代码
  1. ...   
  2.     public static final String PREFERENCE_HIDE_HELP_BLOG    = "PREFERENCE_HIDE_HELP_BLOG";// 29;  
  3.     public static final String PREFERENCE_HIDE_HELP_DOCUMENT    = "PREFERENCE_HIDE_HELP_DOCUMENT";// 30;  
  4.     public static final String PREFERENCE_SEND_EMAIL_IN_PLAIN   = "PREFERENCE_SEND_EMAIL_IN_PLAIN";// 31;  
  5.     public static final String PREFERENCE_BROTHERS_ON_SITREPS   = "PREFERENCE_BROTHERS_ON_SITREPS";// 32;   
  6. ...  

要把这些静态常量移到Perference.java里,然后问题就来了,在Person.java有大量地方调用了这些静态常量,如果一个一个去改的话,就只有 了,这时就用eclispe的正则替换吧
如图:

很简单的两句话,就成功替换所有要改的静态常量

下面来个复杂点的

要把这一类的方法转换一下(很多,有80多个)
Java代码 复制代码 收藏代码
  1. ...   
  2.   public void setSendEmailBirthday(boolean p) throws JawaCodeException { //Birthday Emails  
  3.     setPreference(Preference.PREFERENCE_SEND_BIRTHDAY_EMAILS, p);   
  4.   }   
  5.   
  6.   public void setSendAnnouncement(boolean p) throws JawaCodeException { //Announcement  
  7.     setPreference(Preference.PREFERENCE_SEND_ANNOUNCEMENT, p);   
  8.   }   
  9.   
  10. ...  

变成这个样子
Java代码 复制代码 收藏代码
  1.   public void setSendEmailBirthday(boolean p) throws JawaCodeException { //Birthday Emails  
  2.       Keyword preferenceType = new Keyword(Keyword.PROPERTY_STRINGVAL, Preference.PREFERENCE_SEND_BIRTHDAY_EMAILS);   
  3. setPreference(preferenceType, p);   
  4.   }   
  5.   
  6.   public void setSendAnnouncement(boolean p) throws JawaCodeException { //Announcement  
  7.       Keyword preferenceType = new Keyword(Keyword.PROPERTY_STRINGVAL, Preference.PREFERENCE_SEND_ANNOUNCEMENT);   
  8. setPreference(preferenceType, p);   
  9.   }  

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


现在是不是很方便了,不用正则表达式我想怎么也得半个多小时才能做完吧,还容易出错,用了正则表达式只用几分钟,我觉得很COOL 
原创粉丝点击