0
我使用開源與此OCDE錯誤的replaceAll與ESCP
private String undoEscape(String searchTerm) {
String specialChars = "+-&|!(){}[]^\"~:\\";
for (int i = 0; i < specialChars.length(); i++) {
String character = specialChars.substring(i, i + 1);
String escaped = "\\" + character;
searchTerm = searchTerm.replaceAll(Pattern.quote(escaped), character);
}
return searchTerm;
}
的情況下,該字符= \在檢查= \
逃脫= \\ - 在檢查= \
searchTerm \\ n = in inspect = \ n
我得到錯誤 出了什麼問題?
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:658)
at java.util.regex.Matcher.appendReplacement(Matcher.java:762)
at java.util.regex.Matcher.replaceAll(Matcher.java:906)
at java.lang.String.replaceAll(String.java:2162)
at org
你是什麼錯誤?你可以添加錯誤堆棧嗎? –
你到底想做什麼,這有什麼問題? – Hackerdarshi
澄清你用什麼字符串作爲輸入參數? – CroWell