연습문제/C# 연습문제

10. 공백(다중) 처리하기

규남 2023. 8. 6. 23:35
반응형

<소스 코드>

namespace Test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 기본적인 공백기준 확인방법
            // Split은 해당부분을 기준으로 나눈다

            string str = "hello world!";

            string[] strings = str.Split(' ');
            for(int i = 0; i < strings.Length; i++)
            {
                Console.WriteLine($"{i} = {strings[i]}");
            }
            Console.WriteLine();
            Console.WriteLine();
            // 그런데 위에 방식대로 단순 Split를 쓸경우
            // 아래와 같이 다중으로 공백이 들어가면 문제발생

            str = "  hello   world!  ";
            string[] strings1 = str.Split(' ');
            for (int i = 0; i < strings1.Length; i++)
            {
                Console.WriteLine($"{i} = {strings1[i]}");
            }
            Console.WriteLine();
            Console.WriteLine();

            // 그래서 다중공백을 없애고 순차적으로 쓰기위해서는
            // Split(기준, StringSplitOptions.RemoveEmptyEntries)
            // StringSplitOptions.RemoveEmptyEntries는 다중공백 제거

            string[] strings2 = str.Split(' ', StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < strings2.Length; i++)
            {
                Console.WriteLine($"{i} = {strings2[i]}");
            }
        }
    }
}

<결과 확인>

728x90
반응형