Java에서 Java 문자열 리터럴을 이스케이프 해제하는 방법
Java는 문자열 리터럴을 이스케이프 해제하는 간단한 기능을 제공하지 않습니다. 이 작업을 수행하려면 문자 이스케이프 시퀀스를 해당 문자로 수동으로 변환해야 합니다.
일반적인 문자 이스케이프
Escape Sequence | Character |
---|---|
Backslash | |
n | Newline |
r | Carriage return |
t | Tab |
b | Backspace |
f | Form feed |
" | Double quote |
' | Single quote |
문자열 리터럴 이스케이프 해제
문자열 리터럴을 이스케이프 해제하는 한 가지 접근 방식은 문자열을 반복하는 사용자 정의 함수를 사용하는 것입니다. 이스케이프 시퀀스를 식별하고 이를 적절한 문자로 바꿉니다.
public static String unescape(String str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c == '\') { i++; switch (str.charAt(i)) { case 'n': sb.append('\n'); break; case 'r': sb.append('\r'); break; case 't': sb.append('\t'); break; case 'b': sb.append('\b'); break; case 'f': sb.append('\f'); break; case '\"': sb.append('\"'); break; case '\'': sb.append('\''); break; case '\': sb.append('\'); break; default: sb.append(c); // Unrecognized escape sequence } } else { sb.append(c); } } return sb.toString(); }
예:
String original = "\\"Hello, World!\\""; String unescaped = unescape(original); System.out.println(unescaped); // Output: "Hello, World!"
문자열 이스케이프 해제를 위한 라이브러리
일부 타사 라이브러리도 문자열 리터럴 이스케이프 해제 기능을 제공합니다. 예를 들어 Apache Commons Lang 라이브러리에는 다음 메서드가 있습니다.
public static String unescapeJava(String str)
이 메서드는 위에서 언급한 기본 접근 방식에서 다루지 않는 이스케이프 시퀀스를 포함하여 Java 문자열 리터럴을 이스케이프 해제하는 데 사용할 수 있습니다.
위 내용은 Java 문자열 리터럴을 이스케이프 해제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!