`
li2005
  • 浏览: 37620 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

eclipse巧用正则表达式替换

阅读更多
  在工作中,经常碰到重构代码,有些事情明明很简单,但要改的东西太多了,重复工作量太大,所以学点技巧是灰常有用的
  首先在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有大量地方调用了这些静态常量,如果一个一个去改的话,就只有 了,这时就用eclispe的正则替换吧
如图:

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

下面来个复杂点的

要把这一类的方法转换一下(很多,有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);
    }


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


现在是不是很方便了,不用正则表达式我想怎么也得半个多小时才能做完吧,还容易出错,用了正则表达式只用几分钟,我觉得很COOL
  • 大小: 73 KB
  • 大小: 88.4 KB
0
0
分享到:
评论

相关推荐

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    正则表达式的替换.php 正则表达式的替换 正则表达式的拆分.php 正则表达式的拆分 表单验证.php 表单验证 UBBCode....

    eclipse、myeclipse中删除所有注释正则表达式

    您可能感兴趣的文章:javascript匹配js中注释的正则表达式代码php使用正则表达式去掉html中的注释方法删除javascript中注释语句的正则表达式使用正则表达式匹配tsql注释语句javascipt匹配单行和多行注释的正则表达式...

    利用Ant和Eclipse有效地提高部署工作效率

    工作场景用Eclipse3.1来创建Ant脚本Ant中使用property(属性)文件使用Ant任务从CVS中检出(checkout)源代码,并编译打包编译过程与产生不同目标环境的脚本分开执行解开WAR包利用Ant提供的filter任务替换属性值利用...

    前端代码语法高亮编辑器

    使用正则表达式搜索和替换 突出显示匹配的括号 在软选项卡和真实选项卡之间切换 显示隐藏字符 使用鼠标拖放文本 换行 代码折叠 多个光标和选择 实时语法检查器(当前为 JavaScript/CoffeeScript/CSS/XQuery) 剪切、...

    励志做Java届最好用的文档工具.rar

    以下是Java程序员在日常生活中最常用的10种工具。...Edit Plus最优秀的地方是它非常快速、流畅,并支持所有正则表达式的查找和替换任务。Notepad++可以打开任何类型的Java文件,甚至包含了未在IDE配置的文件,

    gcsearch:Eclipse 的谷歌代码搜索插件

    搜索引擎 该项目的目的是提供直观的界面,用于直接从... 包模式- 匹配搜索结果包名称之一的正则表达式。 目标 URL - 表示包含源代码的文件的 URL 的替换字符串。 该字符串可能包含以下占位符: %FILE% - 搜索结果文件

    Black Sun, Eclipse plugins.-开源

    Eclipse 的许多插件,让生活更轻松。 工具包括正则表达式。 查找和替换 CSharp、LLK、XML、XHTML、HTML、CSS 等的编辑器。

    far.vim:查找并替换Vim插件

    在状态栏中显示搜索模式(正则表达式,区分大小写,单词边界,替换)。 可以通过其提示的键映射来切换模式。 允许一个接一个地输入{pattern},{replace-with}和{file-mask}。 :Farf [params] 交互式F 相互作用...

    php网络开发完全手册

    7.5.7 用正则表达式进行字符串分割 7.5.7 ——preg_split 115 7.6 字符操作的注意事项 117 7.7 小结 118 第8章 数组操作与数据结构算法 119 8.1 一维数组与多维数组 119 8.1.1 一维数组简介 119 8.1.2 多维数组简介 ...

    ApkIDE——安卓反编译

    允许在指定搜索范围(整个工程或选中的文件或文件夹内搜索),支持正则表达式搜索和替换。搜索功能是Apk修改的一个重要工具,从此你不必借助其它第三方搜索工具。 5、内置Google在线翻译引擎,支持实时翻译,支持...

    Java开发技术大全 电子版

    13.7.4正则表达式中的其他通用规则424 13.7.5使用技巧425 13.8Pattern类的使用426 13.9Matcher类的使用428 13.9.1匹配方法的使用429 13.9.2替换方法的使用430 13.9.3组匹配的使用431 13.9.4检验E-mail的合法...

    疯狂JAVA讲义

    9.5.2 使用正则表达式 341 9.6 程序国际化 345 9.6.1 Java国际化的思路 346 9.6.2 Java支持的语言和国家 346 9.6.3 完成程序国际化 347 9.6.4 使用MessageFormat处理包含占位符的字符串 349 9.6.5 使用类文件...

    java web技术开发大全(最全最新)

    3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX.基础 ...

    java web开发技术大全

    3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX....

    JAVA 范例大全 光盘 资源

    实例42 正则表达式验证字符串 95 第7章 Java常用类 98 实例43 数字的舍入 98 实例44 转换数字的进制 101 实例45 随机数 103 实例46 Java Applet绘制心形曲线 106 实例47 简单的计算器 107 实例48 日历和日期 ...

    PHP程序开发范例宝典III

    实例235 使用子查询作表达式 364 实例236 使用子查询关联数据 365 8.13 联合语句 367 实例237 多表联合查询 367 实例238 对联合查询后的结果进行排序 368 实例239 条件联合语句 369 8.14 内连接查询 ...

Global site tag (gtag.js) - Google Analytics