我即将重构我的项目,并且我想要替换所有以" _"开头的变量名称。例如private final String _name; -> private final String name;
我的模板查找变量很简单:
$FieldName$
我为变量名设置了这个正则表达式:
[_][a-z]+
好吧,但这只会返回一个以" _"开头的变量列表,如何删除_然后设置新变量名?
编辑:我编辑了这个主题,因此Eclipse用户可以告诉我如何使用 Eclipse 来解决这个问题。
答案 0 :(得分:2)
您可以通过IntelliJ
中的正则表达式在文本基础上执行此操作按 ctrl-shift-r 打开"替换路径"。确保勾选Regular Expression
,然后输入以下内容:
要查找的文字:([_])([a-zA-Z]+)
替换为:$2
请注意,这里可能存在的问题是其他文本字符串(例如EXIT_ON_CLOSE
)也可能被正则表达式拾取,您可能必须小心不要在这些情况下应用替换(或调整你的正则表达式更聪明。)
答案 1 :(得分:2)
以下适用于我使用IntelliJ IDEA的结构搜索和替换
使用您的搜索模板,使用以下替换模板:
$NewName$
使用脚本文本:
// FieldName refers to the Search template variable
if (FieldName instanceof com.intellij.psi.PsiVariable) {
com.intellij.psi.PsiVariable var = (com.intellij.psi.PsiVariable) FieldName;
var.getName().substring(1);
} else {
String string = FieldName.getText();
int index = string.indexOf('_');
string.substring(0, index) + string.substring(index + 1);
}