C#에서 문자열의 모든 공백 문자를 제거하는 방법은 무엇일까요? | CodeMaze

CodeMaze에서 문자열 중 공백을 제거하는 방법에 대한 다양한 방법을 분석합니다.

  • Regex 사용
  • LINQ로 공백 제거
  • String.Replace() 사용
  • String.Trim() (선-후만)
  • String.Split() 및 String.Join()으로 공백 제거
  • StringBuilder로 공백 제거

저는 개인적으로 LINQ 방식을 선호합니다. 여러분은 어떤 방식을 선호하시나요?


8개의 좋아요

저는 그냥 Replace 하는데, 다양한 방법이 있네요! ㅎㅎ

3개의 좋아요

저도 그냥 Replace 사용 합니다.

3개의 좋아요

저는 compiled regex를 주로 사용합니다.

3개의 좋아요

저는 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();
    }
}

6개의 좋아요

전 이렇게…

var a = "Hello! World! 디 모 이 !!!";

var b = new string(a.Where(x => char.IsWhiteSpace(x) is false).ToArray());

Console.WriteLine(b);
6개의 좋아요

저도 Replace와 Trim, TrimEnd 주로 쓰는데
Split Join은 땡기네요~

@BigSquare 크롤링이나 파싱작업에서 사용하면 좋겠네요!

@dimohy 재밌어요!!

4개의 좋아요

저도 Replace를 사용합니다.
다른 방법이 이렇게나 있는지 생각은 안해봤네요.

다른방법이 궁금해서
간단한 테스트를 해봤는데 Replace가 가장 빠르긴 하네요.

4개의 좋아요

고객님에게 이런 데이터는 어쩔 수 없다고 말한다…???
(가장 먼저 떠오른 게 이거라니… 속세에 물들고 있습니다. ㅜㅠ)

3개의 좋아요