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

C#에서 문자열 자르기 – 선행·후행 공백 제거 방법

C#에서 문자열의 앞뒤에 있는 불필요한 공백(선행 및 후행 공백)을 제거하는 방법은 여러 가지가 있습니다. 그중 하나는 정규식(Regex)을 활용하는 것입니다. 이 글에서는 Regex 클래스를 사용해 문자열의 공백을 정리하는 방법을 단계별로 살펴보겠습니다.

1. 정규식 패턴 설정하기

먼저 공백 문자를 찾기 위한 정규식 패턴을 정의합니다. \s+는 하나 이상의 연속된 공백 문자를 의미합니다.

string pattern = "\\s+";

2. 공백이 포함된 문자열 준비하기

다음과 같이 앞뒤에 공백이 있는 문자열이 있다고 가정해 보겠습니다.

string input = " Welcome User ";

3. Regex로 공백 치환하기

Regex 객체를 생성한 뒤 Replace() 메서드를 호출하면, 패턴과 일치하는 부분(연속된 공백)을 지정한 대체 문자열로 바꿀 수 있습니다.

Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);

전체 예제 코드

아래는 위 과정을 모두 포함한 완전한 예제입니다.

using System;
using System.Text.RegularExpressions;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            string input = " Welcome User ";
            string pattern = "\\s+";
            string replacement = " ";

            Regex rgx = new Regex(pattern);
            string result = rgx.Replace(input, replacement);

            Console.WriteLine("Original String: {0}", input);
            Console.WriteLine("Replacement String:{0}", result);
            Console.ReadKey();
        }
    }
}

실행 결과

Original String:  Welcome User 
Replacement String: Welcome User

더 간단한 방법: Trim() 메서드

단순히 앞뒤 공백만 제거하고 싶다면, 정규식 없이 Trim() 메서드를 사용하는 것이 더 간결하고 효율적입니다.

string result = input.Trim();

Trim()은 문자열 시작과 끝의 공백만 제거하며, 내부의 연속된 공백은 그대로 유지합니다. 반면 정규식 방식은 문자열 중간에 있는 여러 개의 공백도 하나로 합칠 수 있다는 장점이 있으므로, 상황에 맞게 적절한 방법을 선택하면 됩니다.