Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 使用IntelliJ IDEA结构替换关联字符串文本_String_Search_Replace_Intellij Idea_Structural Search - Fatal编程技术网

String 使用IntelliJ IDEA结构替换关联字符串文本

String 使用IntelliJ IDEA结构替换关联字符串文本,string,search,replace,intellij-idea,structural-search,String,Search,Replace,Intellij Idea,Structural Search,我试图搜索字符串的静态连接,并使用结构化搜索替换将它们组合成单个字符串 比如说 我要搜索替换“String1”+“String2”+“String3” 并替换为“String1String2String3”。但不应替换注释中的字符串 public class Main { public static void main(String[] args) { String s = "String1"+"String2" +"St

我试图搜索字符串的静态连接,并使用结构化搜索替换将它们组合成单个字符串

比如说 我要搜索替换
“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$"+"$String3$"
并替换为:

"$String1$$String2$$String3$"
但这只会找到三个字符串文字的字符串连接。
您可能想在

处提交一份bug报告,这是一个好问题,但在我看来,这是不必要的,因为java编译器本身就包含这样的字符串。您可以编译您的示例并查看反编译的类文件。感谢我知道这一点,这个问题更多的是关于结构化搜索替换和理解它是如何工作的,因为没有太多关于它的文档。
"$String1$$String2$$String3$"