如何用eclipse中的新内容替换搜索到的行?

时间:2017-05-24 07:52:50

标签: java regex eclipse log4j

我正在开发一个拥有数千个Java文件的大项目。我要做的是用log4j logging替换代码中使用的所有System.out.println("Argument")行。我可以通过跟随正则表达式System.out.println(...)找到使用System\.out.*;的行。有没有办法用

替换println调用
LGR.info( LGR.isInfoEnabled() ? "Argument": null);

这应该是它的样子:

在:

System.out.println("Argument")

后:

LGR.info( LGR.isInfoEnabled() ? "Argument": null);

3 个答案:

答案 0 :(得分:1)

您可以使用文件搜索:

  • 检查Case sensitiveRegular expression
  • 包含文字:System\.out\.println\((.+)\);
  • 文件名模式:*.java
  • 点击Replace...
  • 检查Regular expression
  • 使用:LGR.info( LGR.isInfoEnabled() ? \1 : null);

答案 1 :(得分:0)

如果右键单击Search视图中的搜索结果,则会有一个名为Replace All ...的选项。将打开一个对话框,允许您输入替换文本。如果在搜索过程中使用了正则表达式,它还允许在替换中使用正则表达式中的匹配器组。

如果您不想替换所有出现的情况,还有一个选项Replace selected ...

答案 2 :(得分:0)

我认为这应该可以使用搜索工具(CTRL+F)或文件搜索(CTRL+H)

search: (System\.out\.println\((.+)\));
replace: LGR.info( LGR.isInfoEnabled() ? $2: null);