내가 텍스트 파일 또는 같은 텍스트가 포함 된 자바 속성을 구문 분석하고 싶습니다 : 그것은 에 기록 된 경우 "테스트 \ N123의 \의 t456"에 해당하는 을 문자열 테스트 = "테스트 \ n123 \ t456";읽기 텍스트는 상당 시간을 컴파일
즉 자바 클래스에서 컴파일 된 것과 비교하여 파일에서 텍스트를 읽을 때 바이트를 동일하게하고 싶습니다.
나는이 말이 희망,
- 나는 문자열의 중간에 붙여 넣으면 스티븐
내 IDE에서내가 텍스트 파일 또는 같은 텍스트가 포함 된 자바 속성을 구문 분석하고 싶습니다 : 그것은 에 기록 된 경우 "테스트 \ N123의 \의 t456"에 해당하는 을 문자열 테스트 = "테스트 \ n123 \ t456";읽기 텍스트는 상당 시간을 컴파일
즉 자바 클래스에서 컴파일 된 것과 비교하여 파일에서 텍스트를 읽을 때 바이트를 동일하게하고 싶습니다.
나는이 말이 희망,
- 나는 문자열의 중간에 붙여 넣으면 스티븐
내 IDE에서아파치 커먼즈 StringEscapeUtils.unescapeJava 방법이된다.
, 그것은 당신을 위해 \ n을에 \의 t에 탭과 줄 바꿈을집니다. 나는 그것을 시도하는 것이 좋습니다. 예를 들어
, 내가 문자열로
test
123
456
를 붙여 경우는
"test\n" +
"123\n" +
"456"
오른쪽에 대해. 나는 곧 그것을 들여다 볼 것이다. – Steven
불행히도이 라이브러리는 원하지 않을 때 너무 많이 이스케이프 처리되지 않는 것 같습니다. "test \\ n123"의 입력은 "test \\ n"대신 "test \ n"을 반환합니다 (또는 완전히 무시). 베드로가 언급 한 것과 비슷한 솔루션을 사용해야 할 수도 있습니다. – Steven
제대로 작동합니다. 문자열 리터럴과 unescapeJava에서 실제로 두 번 이스케이프 처리가 발생합니다. "test \\\\\ n123"(실제로 리터럴에서 이스케이프 처리되지 않은 경우 'test \\\ n123')을 전달하면 예상 답변을 얻을 수 있습니다. – pingw33n