智能IDE的一个功能是重命名变量。作为Eclipse中的一个示例,当您选择一个变量并点击alt + shift + r时,您可以在当前块中重命名它的所有实例。
编写一个函数,该函数给出了函数源代码和变量名。然后将给定变量重命名为给定的新名称。但是当我替换变量时,例如
String str = "void aMethod(int a, int b) { System.out.println(a + b); }"
static void j3wRenameVariable(String sourceCode, String var2Rename, String newName) {
StringBuffer source = new StringBuffer(sourceCode);
char var2 = var2Rename.charAt(0);
String a="";
for (int i = 0; i < source.length(); i++) {
if(source.charAt(i) == var2){
a = source.replace(i, i + var2Rename.length(), newName).toString();
}
}
System.out.println(a);
}
此程序将函数名称更改为swill。
答案 0 :(得分:1)
您需要隔离您的变量。注册表怎么样?
return source.replaceAll("(\\W)(" + var2Rename + ")(\\W)", "$1" + newName + "$3");
解释。 \\W
将检查非字母字符,例如变量表达式的边界。我们想要在变量的两边都有一个边界,然后要替换我们需要确保包含匹配的边界字符,因此&#34; $ 1&#34;和&#34; $ 3&#34;。< / p>