我需要更改字符串如下: 在任何創建的特殊字符之前在此處添加「\」示例: 如果字符串= $ {Name},結果應該是===> \ $ {NAME}在特定字符前插入一個字符
我寫了這個:
private static String getFormattedString(String variable) {
char [] specialCharacters = {'.', '\\', '+', '*', '?', '[', '^', ']', '$', '(', ')' ,'{' ,'}', '=', '!', '<', '>', '|', ':', '-'};
String old = variable;
String formatted = "";
int i=0;
while(i<old.length()) {
for (int j=0;j<specialCharacters.length;j++) {
if (old.charAt(i) == specialCharacters[j]) {
formatted+=old.substring(0, i)+"\\"+old.substring(i, i+1);
old=variable.substring(i+1,variable.length());
break;
}
}
i++;
}
return formatted;
}
,但我得到一個錯誤的結果:
Formatted String : ++++> \${NAME\}
我真的很困惑,任何想法會不勝感激。
如果你只是想逃避'$',你爲什麼有'特殊字符列表中的{'和'}'? –
...另外,由於'{'和'}'在特殊字符列表中,您的實現有一個錯誤。它不會逃避第一個'{'。 – Seelenvirtuose
@Seelenvirtuose「它不會逃脫第一個{」是的,這是我的問題謝謝你。 – AmiraGL