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

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

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

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


8 Likes

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

3 Likes

저도 그냥 Replace 사용 합니다.

3 Likes

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

3 Likes

저는 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 Likes

전 이렇게…

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

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

Console.WriteLine(b);
6 Likes

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

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

@dimohy 재밌어요!!

4 Likes

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

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

4 Likes

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

3 Likes