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

C# Trim() 메서드 완벽 정리 – 문자열 앞뒤 공백 및 특정 문자 제거하기

C#의 Trim() 메서드는 현재 문자열에서 지정한 문자들이 문자열의 앞쪽(선행)과 뒤쪽(후행)에 나타나는 모든 부분을 제거하고, 그 결과로 새로운 문자열을 반환하는 데 사용됩니다.

주로 사용자 입력값의 불필요한 공백을 제거하거나, 문자열 데이터를 정리할 때 유용하게 활용됩니다.

문법(Syntax)

public string Trim ();
public string Trim (params char[] trimChars);

위 문법에서 trimChars 매개변수는 제거할 유니코드 문자들의 배열이며, null일 수도 있습니다. 매개변수를 전달하지 않으면 기본적으로 공백(whitespace) 문자가 제거됩니다.

예제 1: 기본 공백 제거

using System;
using System.Globalization;
public class Demo {
   public static void Main(String[] args) {
      string str1 = " JackSparrow!";
      string str2 = " @#$PQRSTUV!";
      Console.WriteLine("String1 = "+str1);
      Console.WriteLine("String1 (after trim) = "+str1.Trim());
      Console.WriteLine("String1 ToUpper = "+str1.ToUpper(new CultureInfo("en-US", false)));
      Console.WriteLine("String1 Substring from index4 = " + str1.Substring(2, 2));
      Console.WriteLine("

String2 = "+str2);
      Console.WriteLine("String2 ToUpper = "+str2.ToUpper(new CultureInfo("en-US", false)));
      Console.WriteLine("String2 Substring from index2 = " + str2.Substring(0, 5));
   }
}

출력 결과

String1 =         JackSparrow!
String1 (after trim) = JackSparrow!
String1 ToUpper =         JACKSPARROW!
String1 Substring from index4 =  

String2 =     @#$PQRSTUV!
String2 ToUpper =     @#$PQRSTUV!
String2 Substring from index2 =     @

위 실행 결과를 보면 Trim() 호출 후 문자열 앞에 있던 공백이 모두 제거된 것을 확인할 수 있습니다.

예제 2: 특정 문자 제거하기

Trim() 메서드에 문자 배열을 인자로 전달하면, 해당 문자들을 문자열의 시작과 끝에서 제거할 수 있습니다.

using System;
public class Demo {
   public static void Main(String[] args) {
      string str = "JackSparrow!";
      char[] arr = { 'J', 'a'};
      Console.WriteLine("String = "+str);
      Console.WriteLine("String (after trim) = " + str.Trim(arr));
   }
}

출력 결과

String = JackSparrow!
String (after trim) = ckSparrow!

위 예제에서는 문자 배열 {'J', 'a'}를 전달했기 때문에, 문자열 시작 부분의 'J'와 'a'가 순서대로 제거되어 최종 결과가 ckSparrow!가 된 것을 볼 수 있습니다.

정리

  • Trim(): 문자열 양 끝의 공백을 제거합니다.
  • Trim(char[]): 문자열 양 끝에서 지정한 문자들을 제거합니다.
  • Trim()은 원본 문자열을 변경하지 않고 새로운 문자열을 반환합니다(C# 문자열은 불변(immutable)입니다).