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

C# Trim()과 TrimStart() 메서드의 차이점 총정리

C#에서 문자열의 불필요한 공백이나 특정 문자를 제거할 때 Trim()TrimStart() 메서드를 사용합니다. 두 메서드는 이름이 비슷하지만 동작 방식에 분명한 차이가 있습니다. 이 글에서는 각 메서드의 특징과 사용 예제를 통해 차이점을 자세히 알아보겠습니다.

Trim() 메서드란?

Trim()은 문자열의 앞쪽(선행)과 뒤쪽(후행)에 있는 모든 공백을 제거하는 문자열 메서드입니다.

예를 들어, 앞뒤에 공백이 포함된 문자열 " Amit "에 Trim()을 적용하면 다음과 같이 양쪽 공백이 모두 제거됩니다.

Amit

Trim() 사용 예제

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {

            string str = " Amit ";
            Console.WriteLine(str);

            // trim 적용
            Console.WriteLine("앞뒤 공백 제거 후...");
            string res = str.Trim();
            Console.WriteLine(res);

            Console.ReadKey();
        }
    }
}

실행 결과

 Amit 
앞뒤 공백 제거 후...
Amit

위 예제에서 볼 수 있듯이, Trim()은 문자열 시작 부분과 끝 부분의 공백을 한 번에 제거합니다.

TrimStart() 메서드란?

TrimStart()는 문자열 배열로 지정된 문자 집합의 선행(앞쪽) 항목만 반복적으로 제거하는 메서드입니다. 뒤쪽 문자는 그대로 유지됩니다.

대표적인 활용 예로, 숫자 앞에 붙은 불필요한 0을 모두 제거하는 경우를 들 수 있습니다.

TrimStart() 사용 예제 - 선행 0 제거하기

using System;
class Program {
    static void Main() {
        String str = "0009678".TrimStart(new Char[] { '0' });
        Console.WriteLine(str);
    }
}

실행 결과

9678

위 코드에서는 문자 '0'으로 구성된 Char 배열을 TrimStart()에 전달하여, 문자열 앞에 있는 모든 0이 제거되고 "9678"만 남게 됩니다.

두 메서드의 핵심 차이점 요약

  • Trim(): 문자열의 앞쪽과 뒤쪽 공백을 모두 제거합니다. 매개변수 없이 호출하면 공백을 대상으로 하며, Char 배열을 인자로 전달하면 해당 문자들을 앞뒤에서 제거할 수도 있습니다.
  • TrimStart(): 지정한 문자 집합의 선행(앞쪽) 항목만 제거하며, 뒤쪽 문자는 영향을 받지 않습니다.

참고로 뒤쪽 문자만 제거하고 싶다면 TrimEnd() 메서드를 사용하면 됩니다. 상황에 맞게 세 가지 메서드를 적절히 활용하면 문자열 처리를 더욱 깔끔하게 할 수 있습니다.