2014-12-01 5 views
0

스캐너를 통해 입력으로 Json 문자열을 이스케이프 처리하고 콘솔에 인쇄하려고 시도했습니다. "\"을 "\\"로 바꿔서 이스케이프 할 수 없습니다. PatternSyntaxException 를 점점 여기에 내 코드 여기Java에서 백 슬래시를 이스케이프하는 방법

Scanner s = new Scanner(System.in); 
     String str = s.next(); 
     String s3 = ""; 
     if (str.contains("\\")) { 
      s3 = str.replaceAll("\\", "\\\\"); 
      System.out.println(s3); 
     } 

스캐너 내 입력입니다 { "이름": "노키아"}

\ 나에게 제발 도와주세요!

+2

XY 문제처럼 보입니다. 이것이 JSON 인 경우 JSON 라이브러리를 사용하지 않는 이유는 무엇입니까? – fge

답변

2

정규식을 사용하는 경우 백 슬래시를 리터럴로 구문 분석하려면 백 슬래시를 4 개 사용해야합니다 (\\\\). 그래서 사용 s3 = str.replaceAll("\\\\", someOtherString);

관련 문제