Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 구분자를 기준으로 문자열을 분할하는 방법

C#에서 문자열을 여러 개의 값으로 나누어야 할 때 구분자(Delimiter)를 활용하면 간편하게 처리할 수 있습니다. 구분자란 문자열 안에서 각 항목을 구분해 주는 문자를 의미하며, 가장 흔한 예가 쉼표(,)입니다.

구분자란 무엇인가?

예를 들어 아래 문자열에는 두 개의 쉼표가 포함되어 있으며, 이 쉼표가 바로 구분자 역할을 합니다.

string str = "Welcome,to,New York";

구분자 설정하기

먼저 분할에 사용할 구분자를 char 배열 형태로 따로 정의합니다.

char[] newDelimiter = new char[] { ',' };

Split() 메서드로 문자열 분할하기

이후 Split() 메서드를 호출하고, 앞서 정의한 구분자를 매개변수로 전달하면 됩니다.

str.Split(newDelimiter, StringSplitOptions.None);

여기서 StringSplitOptions.None은 빈 문자열도 결과 배열에 그대로 포함하겠다는 의미입니다. 만약 연속된 구분자 사이의 빈 항목을 제거하고 싶다면 StringSplitOptions.RemoveEmptyEntries를 사용하면 됩니다.

전체 예제 코드

아래는 위 과정을 하나로 정리한 완전한 실행 예제입니다.

using System;
class Program {
   static void Main() {
      string str = "Welcome,to,New York";
      char[] newDelimiter = new char[] { ',' };
      string[] arr = str.Split(newDelimiter, StringSplitOptions.None);
      foreach (string val in arr) {
         Console.WriteLine(val);
      }
   }
}

실행 결과

Welcome
to
New York

실행 결과를 보면 원본 문자열이 쉼표를 기준으로 세 개의 부분 문자열로 나뉘어 각각 출력된 것을 확인할 수 있습니다. 이처럼 Split() 메서드와 구분자 배열만 활용하면 CSV 데이터 파싱 등 다양한 상황에서 손쉽게 문자열을 분리할 수 있습니다.