본문 바로가기
C#

C# 문자열을 특정 기호를 기준으로 split 하기

by 샤나엘 2020. 10. 26.
반응형

안녕하세요.

 

C#에서 문자열을 특정 기호를 기준으로 split하는 방법에 대해 알아보겠습니다.

 

그냥하면 심심하니 문제를 낼게요.

 

 

 

string str = "나, 하, 바, 라, 카, 타, 가"; 

 

로 등록된 문자열을 가나다 순서대로 정렬해서 다시 표시하시오.

 

위 문제를 해결 하려면 str 값을 ' , ' 기준으로 split 한 다음

정렬 해서 다시 문자열을 합쳐서 표시해주면 됩니다.

 

string[] arrStr = str.Split(',');

 

관련된 문구는 위 와 같이 사용하면 됩니다.

 

전체 소스를 볼게요.

주의할 점은 문자열을 분리할 때 공백까지 분리가 되기 때문에,

정렬하기전에 공백을 제거한 후 정렬을 해야 합니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "나, 하, 바, 라, 카, 타, 가";

            //문자열 분리
            string[] arrStr = str.Split(',');

            List<string> strList = new List<string>();

            //공백제거 후 List에 값 넣기
            foreach (string arr in arrStr)
                strList.Add(arr.Trim());

            //오름차순으로 정렬
            strList.Sort((x, y) => x.CompareTo(y));


            //문자열 합치기
            StringBuilder sb = new StringBuilder();

            foreach(string value in strList)
            {
                sb.Append(value.Trim());

                if (strList.Last() != value)
                    sb.Append(", ");
            }

            Console.WriteLine("원래값 : " + str);
            Console.WriteLine("변경값 : " + sb.ToString());
        }
    }
}

 

실행결과를 통해서 보면 잘 정렬되서 나오는 것을 볼 수 있습니다.

 

 

특정 기호를 기준으로 문자열을 분리해서 사용하는 방법에 대한 예제였습니다.

 

감사합니다.

반응형

댓글