문자열의 시작 또는 끝에서 지정된 문자들을 모두 제거하는 메서드이다.
Function | Description |
string Trim(params char[] trimChars) | 문자열의 선행과 후행에서 등장하는 지정된 문자 배열의 요소들을 모두 제거한다. |
string TrimStart(params char[] trimChars) | 문자열의 선행에서 등장하는 지정된 문자 배열의 요소들을 모두 제거한다. |
string TrimEnd(params char[] trimChars) | 문자열의 후행에서 등장하는 지정된 문자 배열의 요소들을 모두 제거한다. |
세 함수 모두 params 형식의 매개변수를 취하고 있으며, 만약 매개변수가 지정되지 않거나(=null) 빈 배열인 경우 공백 문자를 대신 제거한다.
var str = ".this is sample string ";
Console.WriteLine(str.Trim()); // ".this is sample string"
Console.WriteLine(str.Trim('.', ' ')); // "this is sample string"
Console.WriteLine(str.TrimStart()); // ".this is sample string "
동작 자체는 굉장히 간단하지만 유용한 메서드이다.
참고로 어떤 문자열에 대해 Trim() 메서드를 호출하는 것만으로 그 결과가 문자열 개체에 반영되지는 않는데, Trim() 메서드는 현재 문자열의 복사본에서 선행/후행에서 지정된 문자들을 제거한 뒤 반환해주는 메서드이기 때문이다.
위 예제 코드에서도 마찬가지로 str 변수에 Trim()을 몇 번에 걸쳐 호출하여도 str에 들어있는 원본 문자열에는 영향을 끼치지 않는 것을 알 수 있다.
알아두면 좋은 사실
- Parse(), TryParse(), Convert.ChangeType() 등 문자열을 값 형식으로 변경하는 메서드들은 Trim() 메서드로 선행 및 후행의 공백을 모두 제거한 뒤 처리된다. 따라서 " 123 " 과 같은 문자열을 int.Parse() 메서드를 사용하여 정수로 변환하더라도 문제없이 동작한다.
'.NET > C#' 카테고리의 다른 글
[C#] Thread가 백그라운드에서 살아있을 때 (0) | 2022.11.14 |
---|---|
[C#] 문자열 04 - IsNullOrEmpty(), IsNullOrWhiteSpace() 문자열 판별하기 (0) | 2022.11.13 |
[C#] 문자열 02 - Substring()으로 부분 문자열 가져오기 (0) | 2021.10.17 |
[C#] 문자열 01 - Split()으로 문자열 분할하기 (0) | 2021.10.17 |
[C#] try~catch~finally 구문 사용법 (0) | 2021.09.27 |