私のプログラムでは、Javaファイルを1行ずつ読み取ります。その行に文字列リテラルがある場合は、それを(たとえば)「ABC」に置き換えます。
そうするための正規表現はありますか?
元。プログラムに渡された Java ファイルが次の場合:
public class TestClass {
private static final boolean isNotThis = false;
public static void main(String[] args) {
String x = "This is a test String";
dummyMethodCall();
if(isNotThis){
makeItThat();
System.out.println("work is done");
}
}
}
次に、出力 Java ファイルは次のようになります。
public class TestClass {
private static final boolean isNotThis = false;
public static void main(String[] args) {
String x = "ABC";
dummyMethodCall();
if(isNotThis){
makeItThat();
System.out.println("ABC");
}
}
}
すべての文字列リテラルを検出し、選択した特定の文字列に置き換えるのに役立つ正規表現を知りたいです。
編集:
私にとっての本当の課題は、文字列内の引用符を避けることです。(誰かが文字列内にエスケープ文字を含む引用文字を入れた場合)