2014-11-15 46 views
1

我想搜索字符串的靜態級聯和它們合併成使用結構搜索替換一個字符串。使用IntelliJ IDEA的結構替換Concatinate字符串文字

例如 我要搜索替換"String1"+"String2"+"String3""String1String2String3"取代。但它不應該在註釋替換字符串。

public class Main { 
    public static void main(String[] args) { 
     String s = "String1"+"String2" 
         +"String3"; 

     System.out.println(CONSTANT); 
    } 

// private static final String CONSTANT ="String1" 
// +"String2"+"String3" 
} 

如果我搜索

"$String1$" 

它導致1個出現了上面的字符串 然而

"$String1$"+"$String2$" 

不符合上述字符串

如何結構搜索替換工作? 如何引用Search string中的變量Replace String

+0

好問題,但在我看來,這是不需要的,因爲java編譯器自己分析這樣的字符串。您可以編譯您的示例並查看反編譯的類文件。 – Vic

+0

謝謝,我是知道的,這個問題更加周圍結構的搜索替換和理解它是如何工作的,因爲沒有解決這個多文檔。 –

回答

0

它看起來像結構搜索目前不支持您的用例。您可以使用查詢匹配你的字符串:

"$String1$"+"$String2$"+"$String3$" 

,並替換爲:

"$String1$$String2$$String3$" 

但這隻會發現三個字符串文字的字符串串聯。 你可能想提交一個錯誤報告http://youtrack.jetbrains.com