2012-05-17 2 views
5

''\ ''n '과 같은 문자 시퀀스를'\ t ','\ r '과 같은 가능한 모든 공백 명령에 대한 스위치를 쓰지 않고'\ n ' ','\ n '등)공백에 공백 문자 시퀀스

거기에 뭔가가 있거나 영리한 트릭이 있습니까?

+2

: // commons.apache.org/lang/) [StringEscapeUtils] (http://commons.apache.org/lang/api-release/org/apache/commons/lang3/StringEscapeUtils.html). – McDowell

+0

질문을 완전히 이해하기 어렵습니다. 당신은 약간의 입력과 기대되는 출력을 제공 할 수 있습니까? – anubhava

+0

[Howto는 Java 문자열 리터럴을 Java에서 이스케이프 처리하지 않을 수 있습니다.] (http://stackoverflow.com/questions/3537706/howto-unescape-a-java-string-literal-in-java) –

답변

3

아니요, 일단 컴파일하면 "\\n""\n" afaik와 아무런 관련이 없습니다. 다음과 같이 내가하고 뭔가를 제안 :

순수 자바 : 아파치 코 몬즈 StringEscapeUtils를 사용

String input = "\\n hello \\t world \\r"; 

String from = "ntrf"; 
String to = "\n\t\r\f"; 
Matcher m = Pattern.compile("\\\\(["+from+"])").matcher(input); 
StringBuffer sb = new StringBuffer(); 
while (m.find()) 
    m.appendReplacement(sb, "" + to.charAt(from.indexOf(m.group(1)))); 
m.appendTail(sb); 

System.out.println(sb.toString()); 

:

import org.apache.commons.lang3.StringEscapeUtils; 

... 

System.out.println(StringEscapeUtils.unescapeJava(input)); 
당신은 [아파치 코 몬즈 랭 (HTTP를 사용할 수