상세 컨텐츠

본문 제목

[C#] String.Split 문자열 구분자로 구분 관련

본문

반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

 

출처: https://docs.microsoft.com/ko-kr/dotnet/csharp/how-to/parse-strings-using-split

 

String.Split 메서드는 하나 이상의 구분 기호를 기준으로 입력 문자열을 분할하여 부분 문자열 배열을 만듭니다.종종 단어 경계에서 문자열을 분리하는 가장 쉬운 방법입니다. 다른 특정 문자 또는 문자열에서 문자열을 분할하는 데도 사용됩니다.

 참고

이 문서의 C# 예제는 Try.NET 인라인 코드 러너 및 놀이터에서 실행됩니다. 대화형 창에서 예제를 실행하려면 실행 버튼을 선택합니다. 코드를 실행하면 실행을 다시 선택하여 코드를 수정하고 수정된 코드를 실행할 수 있습니다. 수정된 코드는 대화형 창에서 실행되거나, 컴파일이 실패하면 대화형 창에 모든 C# 컴파일러 오류 메시지가 표시됩니다.

다음 코드는 공통 어구를 각 단어에 대한 문자열의 배열로 나눕니다.

 

C#복사실행

string phrase = "The quick brown fox jumps over the lazy dog.";

string[] words = phrase.Split(' ');

foreach (var word in words) { System.Console.WriteLine($"<{word}>"); }

 

구분 문자의 모든 인스턴스는 반환된 배열에 값을 생성합니다. 연속된 구분 문자는 반환된 배열의 값으로 빈 문자열을 생성합니다. 다음 예제에서 공백을 구분 기호로 사용하여 내용을 확인할 수 있습니다.

C#복사실행

string phrase = "The quick brown fox jumps over the lazy dog."; string[] words = phrase.Split(' '); foreach (var word in words) { System.Console.WriteLine($"<{word}>"); }

이 동작은 표 형식 데이터를 나타내는 쉼표로 구분된 값(CSV) 파일과 같은 형식을 더 쉽게 만듭니다. 연속된 쉼표는 빈 열을 나타냅니다.

반환된 배열에 빈 문자열을 제외하기 위해 선택적인 StringSplitOptions.RemoveEmptyEntries 매개 변수를 전달할 수 있습니다. 반환된 컬렉션의 더 복잡한 처리를 위해 LINQ를 사용하여 결과 시퀀스를 조작할 수 있습니다.

String.Split은 다중 구분 문자를 사용할 수 있습니다. 다음 예제에서는 공백, 쉼표, 마침표, 콜론 및 탭을 사용하며, 모두 이러한 구분 문자를 포함하는 배열에서 Split로 전달됩니다. 코드 맨 아래의 루프는 반환된 배열의 각 단어를 표시합니다.

 

C#복사실행

char[] delimiterChars = { ' ', ',', '.', ':', '\t' };

string text = "one\ttwo three:four,five six seven";

System.Console.WriteLine($"Original text: '{text}'");

string[] words = text.Split(delimiterChars);

System.Console.WriteLine($"{words.Length} words in text:");

foreach (var word in words) { System.Console.WriteLine($"<{word}>"); }

연속되는 모든 구분 기호의 인스턴스는 출력 배열에 빈 문자열을 생성합니다.

 

C#복사실행

char[] delimiterChars = { ' ', ',', '.', ':', '\t' };

string text = "one\ttwo :,five six seven";

System.Console.WriteLine($"Original text: '{text}'");

string[] words = text.Split(delimiterChars);

System.Console.WriteLine($"{words.Length} words in text:");

foreach (var word in words) { System.Console.WriteLine($"<{word}>"); }

String.Split은 문자열 배열(단일 문자 대신 대상 문자열을 구문 분석하는 구분 기호 역할을 하는 문자 시퀀스)을 사용할 수 있습니다.

 

C#복사실행

string[] separatingStrings = { "<<", "..." };

string text = "one<<two......three<four";

System.Console.WriteLine($"Original text: '{text}'");

string[] words = text.Split(separatingStrings, System.StringSplitOptions.RemoveEmptyEntries); System.Console.WriteLine($"{words.Length} substrings in text:"); foreach (var word in words) { System.Console.WriteLine(word); }

 

GitHub 리포지토리의 코드를 확인하여 이러한 샘플을 시험해 볼 수 있습니다. 또는 샘플을 zip 파일로 다운로드할 수 있습니다.

 

dotnet/samples

Sample code and snippets used in the .NET documentation - dotnet/samples

github.com

 

 

 

 

=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역