CodeMaze에서 문자열 중 공백을 제거하는 방법에 대한 다양한 방법을 분석합니다.
- Regex 사용
- LINQ로 공백 제거
- String.Replace() 사용
- String.Trim() (선-후만)
- String.Split() 및 String.Join()으로 공백 제거
- StringBuilder로 공백 제거
저는 개인적으로 LINQ 방식을 선호합니다. 여러분은 어떤 방식을 선호하시나요?
CodeMaze에서 문자열 중 공백을 제거하는 방법에 대한 다양한 방법을 분석합니다.
저는 개인적으로 LINQ 방식을 선호합니다. 여러분은 어떤 방식을 선호하시나요?
저는 그냥 Replace 하는데, 다양한 방법이 있네요! ㅎㅎ
저도 그냥 Replace 사용 합니다.
저는 compiled regex를 주로 사용합니다.
저는 StringBuilder와 IndexOf가 빠르다는 얘기를 들은 후, IndexOf를 많이 사용하는 편입니다.
static class StringExtensions
{
static readonly StringBuilder sb = new();
public static string TrimOut(this string str, char discard = ' ')
{
sb.Clear();
int found;
for (int i = 0; i < str.Length; )
{
found = str.IndexOf(discard, i);
if (found < 0)
{
sb.Append(str[i..str.Length]);
break;
}
sb.Append(str[i..found]);
i = found + 1;
}
return sb.ToString();
}
}
전 이렇게…
var a = "Hello! World! 디 모 이 !!!";
var b = new string(a.Where(x => char.IsWhiteSpace(x) is false).ToArray());
Console.WriteLine(b);
저도 Replace와 Trim, TrimEnd 주로 쓰는데
Split Join은 땡기네요~
@BigSquare 크롤링이나 파싱작업에서 사용하면 좋겠네요!
@dimohy 재밌어요!!
저도 Replace를 사용합니다.
다른 방법이 이렇게나 있는지 생각은 안해봤네요.
다른방법이 궁금해서
간단한 테스트를 해봤는데 Replace가 가장 빠르긴 하네요.
고객님에게 이런 데이터는 어쩔 수 없다고 말한다…???
(가장 먼저 떠오른 게 이거라니… 속세에 물들고 있습니다. ㅜㅠ)