【问题标题】:How to replace a searched line with new contents in eclipse?如何在eclipse中用新内容替换搜索到的行?
【发布时间】:2017-10-24 10:27:22
【问题描述】:

我正在处理一个包含数千个 Java 文件的大型项目。我要做的是用 log4j 日志记录替换代码中使用的所有System.out.println("Argument") 行。我可以通过遵循正则表达式System\.out.*; 找到使用System.out.println(...) 的行。有没有办法用

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

它应该是这样的:

之前:

System.out.println("Argument")

之后:

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

【问题讨论】:

    标签: java regex eclipse log4j


    【解决方案1】:

    您可以使用文件搜索:

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

    【讨论】:

    • 谢谢你拯救了我的一天。如果你能解释一下你刚刚做了什么,那就太好了。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-03-11
        • 1970-01-01
        • 1970-01-01
        • 2015-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        相关资源
        最近更新 更多