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

C# 문자열에서 공백을 제거하는 방법 완벽 가이드

C# 프로그래밍에서 문자열에 포함된 공백을 제거해야 하는 경우가 자주 있습니다. 예를 들어 사용자 입력을 정리하거나, 데이터를 비교하기 전에 정규화하거나, 공백 없이 문자열을 이어 붙여야 할 때 유용합니다. 이번 글에서는 StringBuilderReplace 메서드를 활용해 문자열에서 공백을 손쉽게 제거하는 방법을 알아보겠습니다.

기본 개념: 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 메서드를 사용하는 것입니다. 코드가 직관적이고 성능도 우수하기 때문에 간단한 문자열 정리 작업에 적합합니다. 더 복잡한 공백 패턴을 다뤄야 한다면 정규식을 활용하는 것도 좋은 선택입니다.