2017-07-20 14 views
-5

スマートIDEの機能の1つは変数の名前の変更です。 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); 


} 

このプログラムは機能のスィルを変更します。

+0

質問を認識できません。あなたが何を求めているのか具体的に説明できますか? –

+0

'chars'を比較するだけで気にしたり、関連性があるかどうかを確認したりできます。 – SomeJavaGuy

+0

サンプル変数名と出力を含めることができますか? – matt

答えて

0

変数を分離する必要があります。 reg-exはどうですか?

return source.replaceAll("(\\W)(" + var2Rename + ")(\\W)", "$1" + newName + "$3"); 

説明\\Wは、文字でない文字、たとえば変数式の境界をチェックします。変数の両側に境界線が必要で、置き換えるには一致する境界文字が "$ 1"と "$ 3"に含まれていることを確認する必要があります。

関連する問題