[C#] N개의 공백을 하나의 공백으로 치환하기
2013. 12. 27. 08:54ㆍOthers/C# 일반
불필요한 공백문자를 제거하기 위해서 자주 사용하는 방법은 Trim()을 사용하는 것입니다. 하지만 Trim()은 문자열 시작과 끝부분의 공백을 제거할 뿐입니다. 하지만 문자열 사이의 불필요한 공백은 어떻게 제거할 수 있을까요?
쉽게 생각할 수 있는 방법은 Replace()를 이용한 방법이 있지만, 아쉽게도 그 방법은 정상동작 하지 않습니다.
string name = " 제임스 스미스 "; Console.WriteLine("결과:[" + name.Replace(" ", " ") + "]");
결과는 ‘결과:[제임스 스미스 ]’ 로 나타납니다. Replace()는 이어지는 공백 중 첫 공백만 치환하기 때문에 위와 같이 기대와 다르게 결과가 나타납니다.
해결책은 간단히 Split(), Join()를 활용하는 것입니다.
string[] splitedName = " 제임스 스미스 " .Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); string result = string.Join(" ", splitedName);
Console.WriteLine("결과:[" + result + "]");
'Others > C# 일반' 카테고리의 다른 글
[Office] 엑셀문서 접근 시 주의사항 (0) | 2015.07.17 |
---|---|
[C#] Async, Await를 이용한 비동기 프로그래밍 (6) | 2014.03.26 |
[C#] File, Directory, FileInfo, DirectoryInfo, Path (0) | 2013.06.09 |
[C#] C# Data Type (0) | 2013.02.22 |
[C#] Class Library의 Intellisense 공유하기 (0) | 2012.01.06 |