다음과 같이 문자열을 변경해야합니다. 발견 된 특수 문자 앞에 "\"를 추가하십시오. 예 : string = $ {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\}
내가 어떤 생각 것 정말 혼란 스러워요을 ===> \ $ {NAME}
내가 쓴 감사하겠습니다.
를 사용하는 특수 문자 목록에 {'및'}'? –
... 그리고'{'와'} '가 특수 문자 목록에 있으므로 구현에 버그가 있습니다. 첫 번째'{'를 벗어나지 않습니다. – Seelenvirtuose
@Seelenvirtuose "처음으로 도망 가지 않는다 {네, 이것이 내 문제입니다. 감사합니다. – AmiraGL