C# 프로그래밍에서 문자열에 포함된 공백을 제거해야 하는 경우가 자주 있습니다. 예를 들어 사용자 입력을 정리하거나, 데이터를 비교하기 전에 정규화하거나, 공백 없이 문자열을 이어 붙여야 할 때 유용합니다. 이번 글에서는 StringBuilder와 Replace 메서드를 활용해 문자열에서 공백을 손쉽게 제거하는 방법을 알아보겠습니다.
기본 개념: StringBuilder와 Replace 메서드
먼저 다음과 같이 공백이 포함된 문자열이 있다고 가정해 보겠습니다.
StringBuilder str = new StringBuilder("Patience is key!");문자열에서 공백을 제거하려면 Replace 메서드를 사용하면 됩니다. 이 메서드는 첫 번째 인자로 지정한 문자(또는 문자열)를 두 번째 인자의 값으로 대체합니다. 따라서 공백(" ")을 빈 문자열("")로 바꾸면 모든 공백이 제거됩니다.
str.Replace(" ", "");전체 예제 코드
아래는 위 내용을 실제로 구현한 완전한 C# 코드입니다.
using System;
using System.Text;
class Demo {
static void Main() {
// 초기 문자열
StringBuilder str = new StringBuilder("Patience is key!");
Console.WriteLine(str.ToString());
// 공백 제거
str.Replace(" ", "");
// 변경된 문자열 출력
Console.WriteLine(str.ToString());
Console.ReadLine();
}
}실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Patience is key! Patienceiskey!
첫 번째 줄은 원본 문자열이며, 두 번째 줄은 Replace 메서드를 통해 모든 공백이 제거된 결과입니다.
추가 팁: 다양한 공백 처리 방법
실무에서는 일반적인 띄어쓰기 외에도 탭(\t)이나 줄바꿈(\n) 같은 공백 문자를 함께 제거해야 하는 경우가 있습니다. 이럴 때는 여러 번 Replace를 호출하거나, 정규식(Regex)을 활용할 수 있습니다.
// 탭과 줄바꿈까지 함께 제거하는 예제
str.Replace(" ", "").Replace("\t", "").Replace("\n", "");또는 System.Text.RegularExpressions.Regex 클래스를 사용하면 모든 종류의 공백 문자를 한 번에 처리할 수 있습니다.
string result = Regex.Replace(str.ToString(), @"\s+", "");
마무리
C#에서 문자열의 공백을 제거하는 가장 간단한 방법은 StringBuilder의 Replace 메서드를 사용하는 것입니다. 코드가 직관적이고 성능도 우수하기 때문에 간단한 문자열 정리 작업에 적합합니다. 더 복잡한 공백 패턴을 다뤄야 한다면 정규식을 활용하는 것도 좋은 선택입니다.