2011-01-13 2 views
1

내가 텍스트 파일 또는 같은 텍스트가 포함 된 자바 속성을 구문 분석하고 싶습니다 : 그것은 에 기록 된 경우 "테스트 \ N123의 \의 t456"에 해당하는 을 문자열 테스트 = "테스트 \ n123 \ t456";읽기 텍스트는 상당 시간을 컴파일

즉 자바 클래스에서 컴파일 된 것과 비교하여 파일에서 텍스트를 읽을 때 바이트를 동일하게하고 싶습니다.

나는이 말이 희망

,

- 나는 문자열의 중간에 붙여 넣으면 스티븐

내 IDE에서

답변

2

아파치 커먼즈 StringEscapeUtils.unescapeJava 방법이된다.

+0

오른쪽에 대해. 나는 곧 그것을 들여다 볼 것이다. – Steven

+0

불행히도이 라이브러리는 원하지 않을 때 너무 많이 이스케이프 처리되지 않는 것 같습니다. "test \\ n123"의 입력은 "test \\ n"대신 "test \ n"을 반환합니다 (또는 완전히 무시). 베드로가 언급 한 것과 비슷한 솔루션을 사용해야 할 수도 있습니다. – Steven

+2

제대로 작동합니다. 문자열 리터럴과 unescapeJava에서 실제로 두 번 이스케이프 처리가 발생합니다. "test \\\\\ n123"(실제로 리터럴에서 이스케이프 처리되지 않은 경우 'test \\\ n123')을 전달하면 예상 답변을 얻을 수 있습니다. – pingw33n

0

, 그것은 당신을 위해 \ n을에 \의 t에 탭과 줄 바꿈을집니다. 나는 그것을 시도하는 것이 좋습니다. 예를 들어

, 내가 문자열로

test 
123 
456 

를 붙여 경우는

"test\n" + 
"123\n" + 
"456" 
+0

"test \ n"을 "test (special new char line here)"로 변환하는 코드 스 니펫을 찾고 있습니다. 즉, 소스 코드 버전은 "test \\ n"이고 소스 코드 버전으로 변경되었습니다 : "test \ n" – Steven

+0

text.replace ("\\ n", "\ n")와 같은 의미입니까? –

+0

일종의,하지만 가능한 모든 특수 문자를 다루는 쉬운 방법을 원합니다 – Steven