일반적으로 문자열 내에 큰 따옴표를 출력할 수 있도록 코드를 작성하라고 한다면 가장 먼저 어떤 방식이 떠오를까요?
String answer="""
흔히 문자열을 작성하는 방법처럼 " " 쌍따옴표 내에 큰따옴표를 넣기 쉽습니다. 그러나 이런 경우 어떤게 문자열 처리를 해주는 따옴표인지 모르기 때문에 오류가 발생합니다.
이런 문제들을 해결하기 위해 이스케이프(Escape) 문자를 사용합니다. 이스케이프 문자는 문자열 내 특수한 기능을 수행하는 문자입니다. 예시로는 다음과 같습니다.
이스케이프 문자 | 기능 |
\n | 다음 줄로 이동 |
\r | 해당 중의 처음으로 이동 |
\" | "문자 |
그럼 이러한 이스케이프 문자를 이용하여 문자열을 작성한다면 다음과 같은 결과물을 얻을 수 있습니다.
String answer = "\"Hello\"";
System.out.println(answer);
문자열을 나타내는 가장 외부의 쌍따움표("")내에 이스케이프 문자인 \"를 넣어주면 위 결과처럼 쌍따움표를 출력해 줄 수 있습니다. 그러나 위 같은 이스케이프 문자의 문제점 중 하나는 변수를 사용할 수 없다는 점입니다.
String answer = "Hello";
System.out.println("\"answer\"");
위 코드는 이스케이프 문자 사이에 "Hello"라는 문자열을 가진 변수 answer을 넣어준 상황입니다. 기대하는 결과는 "Hello"이지만 변수로 인식하지 못하고 변수명 자체를 쌍따움표로 감싸 출력되는 결과를 확인할 수 있었습니다.
위처럼 변수를 사용하는 경우에는 문자(char)를 사용하는 방법이 효과적입니다.
char quote = '"';
String answer = "Hello";
System.out.println(quote+answer+quote);
작은 따옴표('') 내에 큰따옴표를 넣어서 필요한 위치마다 대입시켜 주는 방식입니다. 원하는 곳에 원하는 문자를 대입시켜 출력할 수 있다는 점이 장점입니다.
지금까지 문자열 내에 쌍따옴표를 넣는 방법 총 두 가지를 알아봤습니다. 자주 사용하지는 않지만 JSON 데이터를 스스로 만들어 보는 예시 등에 활용될 수 있어서 만약을 위해 알아두는 것이 좋은 방법들이었습니다.
'지식창고' 카테고리의 다른 글
자바 중요 개념! Static에 대해 알아보자! (0) | 2022.06.21 |
---|---|
API란 무엇일까? (0) | 2022.06.09 |
SSR과 CSR의 차이 (0) | 2022.06.08 |
금고를 털어라 알고리즘 문제 방식 (0) | 2022.06.03 |
인텔리제이 한글 깨짐 오류 해결 (1) | 2022.05.28 |