안녕하세요. BlockDMask 입니다. 굉장히 오랜만에 글을 작성하네요.
두달동안은 롤 URF, 롤체를 하느라 공부를 안한것 같네요;;; 반성합니다
오늘은 C#에서 양끝, 앞쪽, 뒤쪽의 공백을 제거해주는 Trim, TrimStart, TrimEnd 함수(메서드)에 대해서 알아보려고 하는데요,
사실 Trim, TrimStart, TrimEnd 메서드는 단순히 "공백" 뿐만 아니라 "우리가 원하는 문자(들)"도 제거 할 수 있습니다.
아래 설명에서 자세히 보시죠.
>목차
1. Trim(), TrimStart(), TrimEnd() 메서드의 정의와 사용법
2. 문자열에서 공백을 제거하는 예제
3. Trim(Char[]), TrimStart(Char[]), TrimEnd(Char[]) 메서드의 정의와 사용법
4. 문자열에서 특정 문자들을 제거하는 예제
1. Trim(), TrimStart(), TrimEnd() 메서드의 정의와 사용법
▼ public string Trim()
현재 문자열의 앞쪽, 뒤쪽 공백을 모두 제거한 문자열을 반환합니다.
▼ public string TrimStart()
현재 문자열의 앞쪽 공백을 모두 제거한 문자열을 반환합니다.
▼ public string TrimEnd()
현재 문자열의 뒤쪽 공백을 모두 제거한 문자열을 반환합니다.
- **주의 : 현재 문자열을 변환하는게 아니라, 변환한 문자열을 반환하는 것 입니다.
- Trim(), TrimStart(), TrimEnd() 메서드는 String 클래스 내부에 있는 멤버함수(메서드) 입니다.
- 맨앞, 맨끝의 공백을 제거하는것이므로 특정 문자 사이사이에 있는 공백은 제거할 수 없습니다. (문자 사이사이 공백 제거는 Replace 메서드로 가능)
- '공백'의 기준은 유니코드에 의해 정의된 공백을 말하며 C#에서 Char.IsWhiteSpace() 해당 메서드의 True값이 나오는 값을 말합니다
▼ 간단한 사용예제
string str1 = " Block D M a s k ";
string str2 = str1.Trim();
//str2 = "Block D M a s k";
string str3 = str1.TrimStart();
//str3 = "Block D M a s k ";
string str4 = str1.TrimEnd();
//str4 = " Block D M a s k ";
2. 문자열 양끝, 앞 뒤에서 공백을 제거하는 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | static void Main(string[] args) { Console.WriteLine("0. 원본 스트링 ====================================="); string str = " BlockD Mask "; Console.WriteLine(str); Console.WriteLine("\n1.Trim() ======================================"); Console.WriteLine($"Trim() 이전: ({str})"); Console.WriteLine($"Trim() 적용: ({str.Trim()})"); Console.WriteLine($"Trim() 이후: ({str})"); Console.WriteLine(); Console.WriteLine("\n2.TrimStart() ================================="); Console.WriteLine($"TrimStart() 이전: ({str})"); Console.WriteLine($"TrimStart() 적용: ({str.TrimStart()})"); Console.WriteLine($"TrimStart() 이후: ({str})"); Console.WriteLine("\n3.TrimEnd() ==================================="); Console.WriteLine($"TrimEnd() 이전: ({str})"); Console.WriteLine($"TrimEnd() 적용: ({str.TrimEnd()})"); Console.WriteLine($"TrimEnd() 이후: ({str})"); Console.WriteLine("\n4.Trim() 함수의 반환으로 새로운 스트링이 생성되는 것 입니다."); string trimStr = str.Trim(); string trimStartStr = str.TrimStart(); string trimEndStr = str.TrimEnd(); Console.WriteLine($"trimStr : ({trimStr})"); Console.WriteLine($"trimStartStr: ({trimStartStr})"); Console.WriteLine($"trimEndStr : ({trimEndStr})"); | cs |
▶결과
**공백이 제거 되었는지를 확인하기 위해서 "(, )" 소괄호를 표기했습니다
결과를 보면
1. Trim() 메서드는 "앞, 뒤"의 공백을 없애고,
2. TrimStart() 메서드는 "앞"의 공백을 없애고,
3. TrimEnd() 메서드는 "뒤"의 공백을 없애는걸 볼 수 있습니다.
제가 Trim(), TrimStart(), TrimEnd() 함수 적용 이전 이후를 보여드린 이유는, Trim을 했다고 해서 원본 스트링이 변하거나 하지 않는다는 것을 보여드리기 위함 이었습니다.
또한, 앞과 뒤의 공백만 사라지고 사이사이 공백들은 없어지지 않는다는 점도 다시한번 기억하면 좋을것 같습니다.
==> "원본 스트링을 바꾸는 메서드가 아닌, 변환된 스트링을 반환하는 메서드 입니다."
3. Trim(Char[]), TrimStart(Char[]), TrimEnd(Char[]) 메서드의 정의와 사용법
많은 분들이 Trim()이 "공백"만 제거해주는 메서드로 알고 계시는데, 전혀 아닙니다.
Trim() 메서드는 공백 뿐만 아니라 특정 char (들)을 앞뒤로 제거해주는 메서드로 얼마든지 변.신. 할수있습니다.
킹갓 Trim().
▼ Trim(char), TrimStart(char), TrimEnd(char)
▼ Trim(char[]), TrimStart(char[]), TrimEnd(char[])
4. 문자열 양끝, 앞, 뒤에서 특정 문자들을 제거하는 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | static void Main(string[] args) { Console.WriteLine("====================================="); Console.WriteLine("0. str1 원본 스트링"); string str1 = "aaaaaBlockD Maskaaaaa"; Console.WriteLine($"str1 : {str1}"); Console.WriteLine("\n1.Trim('a') 문자 하나를 매개변수로 넣었을때"); string trimStr1 = str1.Trim('a'); string trimStartStr1 = str1.TrimStart('a'); string trimEndStr1 = str1.TrimEnd('a'); Console.WriteLine($"str1.Trim('a') : ({trimStr1})"); Console.WriteLine($"str1.TrimStart('a') : ({trimStartStr1})"); Console.WriteLine($"str1.TrimEnd('a') : ({trimEndStr1})"); Console.WriteLine("\n\n====================================="); Console.WriteLine("0. str2 원본 스트링"); string str2 = "abbbbaaccccaaBlockD Maskaabcbcbcaabcaccbcbcabca"; char[] arr = { 'a', 'b', 'c' }; Console.WriteLine($"str2 : {str2}"); Console.WriteLine("char[] arr = {'a', 'b', 'c'}"); Console.WriteLine("\n1.Trim('a') 문자 하나를 매개변수로 넣었을때"); string trimStr2 = str2.Trim(arr); string trimStartStr2 = str2.TrimStart(arr); string trimEndStr2 = str2.TrimEnd(arr); Console.WriteLine($"str2.Trim(arr) : ({trimStr2})"); Console.WriteLine($"str2.TrimStart(arr) : ({trimStartStr2})"); Console.WriteLine($"str2.TrimEnd(arr) : ({trimEndStr2})"); } | cs |
▶결과
결과를 보면, "공백" ㄴㄴ "문자, 문자들" ㅇㅇ
문자, 문자들을 확실하게 제거 하는 모습을 볼 수 있습니다.
Trim()함수 매우 쓸만하지 않습니까?? 여러분.
감사합니다.
'<개인공부> > [C#]' 카테고리의 다른 글
[C#] const, readonly 설명 사용법과 차이점에 대해서 (0) | 2022.09.22 |
---|---|
[C#] 타입 조사 Type, 리플렉션(reflection) (0) | 2022.09.11 |
[C#] 인덱서 객체(인스턴스)를 배열 처럼 사용해보자 (0) | 2022.09.04 |
[C#] Math.Clamp 메서드(함수) 설명 및 예제 (0) | 2022.07.18 |
[C#] Nullable type, int? 널러블 타입에 대해서. (0) | 2019.09.28 |
[C#] string format, 문자열 보간($)을 이용한 문자열 출력방법 (1) | 2019.08.19 |
[C#] Abs 절대값 함수에 대하여. (0) | 2019.07.10 |
[C#] 리터럴(Literal)이란? (7) | 2019.07.05 |