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