Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 지원하는 이스케이프 시퀀스 완벽 가이드

C# 프로그래밍에서 이스케이프 시퀀스(escape sequence)는 문자열 내에서 특수한 기능을 수행하거나, 키보드로 직접 입력하기 어려운 문자를 표현할 때 사용됩니다. 백슬래시(\)와 특정 문자의 조합으로 구성되며, 알림음, 탭, 줄바꿈 등 다양한 제어 문자를 손쉽게 다룰 수 있게 해줍니다.

이스케이프 문자 출력 예제

다음은 C#에서 대표적인 이스케이프 문자를 화면에 출력하는 방법을 보여주는 예제입니다.

using System;
using System.Collections.Generic;

class Demo {
    static void Main() {

        Console.WriteLine("Warning!" + '\u0007');

        Console.WriteLine("Test \t Demo Text");

        Console.WriteLine("This is it!\nThis is on the next line!");
    }
}

예제 코드 설명

  • '\u0007': 벨(bell) 문자로, 실행 시 경고음이 발생합니다.
  • \t: 탭(tab) 간격만큼 공백을 삽입합니다.
  • \n: 줄바꿈(new line)을 수행하여 다음 문장을 새로운 행에 출력합니다.

C# 이스케이프 시퀀스 전체 목록

아래 표는 C#에서 지원하는 주요 이스케이프 시퀀스와 해당 유니코드 값, 그리고 정규식 패턴 예시를 정리한 것입니다.

이스케이프 문자설명패턴
\a벨(bell) 문자인 \u0007과 일치합니다. 실행 시 경고음이 울립니다.\a
\b문자 클래스 내에서 백스페이스(backspace), 즉 \u0008과 일치합니다.[\b]{3}
\t탭(tab) 문자인 \u0009와 일치합니다.(\w+)\t
\r캐리지 리턴(carriage return), 즉 \u000D와 일치합니다. 참고로 \r은 줄바꿈 문자(\n)와 동일하지 않습니다.\r\n(\w+)
\v수직 탭(vertical tab), 즉 \u000B와 일치합니다.[\v]{2}
\f폼 피드(form feed), 즉 \u000C와 일치합니다.[\f]{2}
\n새 줄(new line), 즉 \u000A와 일치합니다.\r\n(\w+)
\e이스케이프(escape) 문자, 즉 \u001B와 일치합니다.\e

정리

이스케이프 시퀀스는 콘솔 출력 포맷팅, 파일 입출력, 정규식 처리 등 다양한 상황에서 필수적으로 활용됩니다. 특히 \r(캐리지 리턴)과 \n(줄바꿈)은 서로 다른 문자라는 점을 기억해 두면, Windows(CRLF)와 Unix(LF) 계열 운영체제 간의 개행 문자 차이를 다룰 때 큰 도움이 됩니다.