String.replaceAll
的第二個參數需要一個正則表達式。在正則表達式世界中,\
具有特殊的操作符含義。你必須爲jvm轉義一次,爲正則表達式轉義一次。
String str = "b";
String replacement = "C:\\\\\\\\myfolder";
System.out.println(str.replaceAll(str, replacement));
會打印出
C:\\myfolder
隨着String.replace
它確實需要的文本字符串,因此你只需要一次逃脫它的JVM
String str = "b";
String replacement = "C:\\\\myfolder";
System.out.println(str.replace(str, replacement));
將打印
C:\\myfolder
最後,如果你不知道如何進入的字符串替換貌似可以用
String str = "b";
String replacement = "C:\\myfolder"; // might be anything
String actualReplacement = replacement.replaceAll("\\\\", "\\\\\\\\");
System.out.println(str.replace(str, actualReplacement));
事先逃脫它會打印
C:\\myfolder
以外,你可以使用apache.utils之一實現它,但這裏沒有任何第三方庫。
在哪裏執行實際更換的代碼? – Reimeus
@Reimeus它在那裏。我正在編輯。 – user7436452
更換後的預期產量是多少? –