如何搜索源代码以查找和删除“this”的所有用法,例如: 'this.getVersion()'将变为'getVersion()'
我想我需要一个正则表达式,但我不知道如何创建一个来搜索它的代码。
感谢。
答案 0 :(得分:3)
我会建议反对。因为说你有方法
public class Foo {
private int a;
public void Bar (int a) {
this.a = a;
}
}
删除this.
后,方法的语义会发生变化。
如果不构建解析树并进行语义分析,则无法修改此语义安全。
如果你真的想继续下去:
\bthis\.
是一个正在使用的正则表达式。
答案 1 :(得分:1)
正则表达式可以工作,以匹配包含"这个" (比如,(.*)(this)(.*)
)
但是如果没有更多的语义信息,你可以随意删除这些信息。更糟糕的是,您可能会更改代码的含义。你为什么要这样做?
答案 2 :(得分:1)
我假设你想用Java写这个,并且你已经阅读了另一个答案中的注意事项。您只需将每个文件加载到String中并使用
即可myFileString.replaceAll("\\bthis\\.", "");
有关详细信息,请参阅Javadoc。