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

C# 이스케이프 문자 종류와 출력 방법 총정리

C#에서 이스케이프 문자(Escape Character)는 탭, 줄 바꿈, 벨 소리처럼 키보드로 직접 입력하기 어려운 특수 문자를 표현할 때 사용합니다. 역슬래시(\) 뒤에 특정 문자를 조합하여 작성하며, 특히 정규식(Regular Expression)에서 제어 문자를 다룰 때 유용하게 활용됩니다.

아래 표는 C#에서 사용할 수 있는 대표적인 이스케이프 문자와 각각의 설명, 그리고 실제 화면에 어떻게 표시되는지를 정리한 것입니다.

이스케이프 문자설명패턴표시 결과
\a벨(Bell) 문자 \u0007과 일치합니다.\a"Warning!" + '\u0007' 에서 "\u0007"
\b문자 클래스 안에서 백스페이스(\u0008)와 일치합니다.[\b]{3}"\b\b\b\b" 에서 "\b\b\b\b"
\t탭(Tab, \u0009)과 일치합니다.(\w+)\t"Name\tAddr\t" 에서 "Name\t", "Addr\t"
\r캐리지 리턴(Carriage Return, \u000D)과 일치합니다. 단, \r은 줄 바꿈 문자인 \n과 동일하지 않습니다.\r\n(\w+)"\r\Hello\nWorld." 에서 "\r\nHello"
\v세로 탭(Vertical Tab, \u000B)과 일치합니다.[\v]{2}"\v\v\v" 에서 "\v\v\v"
\f폼 피드(Form Feed, \u000C)와 일치합니다.[\f]{2}"\f\f\f" 에서 "\f\f\f"
\n새 줄(New Line, \u000A)과 일치합니다.\r\n(\w+)"\r\Hello\nWorld." 에서 "\r\nHello"
\e이스케이프(Escape, \u001B) 문자와 일치합니다.\e"\x001B" 에서 "\x001B"
\nnn8진수 표기법으로 문자를 지정합니다. (nnn은 최대 3자리 숫자)\w\040\w"a bc d" 에서 "a b", "c d"
\x nn16진수 표기법으로 문자를 지정합니다. (nn은 반드시 2자리 숫자)\w\x20\w"a b", "c d"
\c X / \c xX 또는 x로 지정된 ASCII 제어 문자와 일치합니다. (X 또는 x는 제어 문자를 나타내는 영문자)\cC"\x0003" 에서 "\x0003" (Ctrl-C)
\u nnnn16진수 표기법으로 유니코드 문자와 일치합니다. (nnnn은 반드시 4자리 숫자)\w\u0020\w"a bc d" 에서 "a b", "c d"
\뒤에 오는 문자가 이스케이프 문자로 인식되지 않는 경우, 해당 문자 그대로와 일치합니다.\d+[\+-x\*]\d+"(2+2) * 3*9" 에서 "2+2", "3*9"

C# 이스케이프 문자 출력 예제

다음 예제는 위에서 소개한 이스케이프 문자 중 몇 가지를 C# 코드에서 직접 사용하고 출력하는 방법을 보여줍니다.

using System;
using System.Collections.Generic;

class Demo {
    static void Main() {

        Console.WriteLine("Warning!" + '\u0007');
        Console.WriteLine("Demo Text \t Demo Text");
        Console.WriteLine("This is it!\nThis is on the next line!");
    }
}

실행 결과

Warning!
Demo Text Demo Text
This is it!
This is on the next line!

예제 코드 설명

  • '\u0007': 벨 문자를 출력하여 경고음을 발생시킵니다.
  • \t: 두 문장 사이에 탭 간격을 삽입합니다.
  • \n: 줄 바꿈을 수행하여 이후 문장을 다음 줄에 출력합니다.

이처럼 이스케이프 문자를 활용하면 콘솔 출력의 가독성을 높이고, 정규식에서도 제어 문자를 정확하게 매칭할 수 있습니다.