이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

String.Split 메서드 (Char[], StringSplitOptions)

 

배열에 있는 문자에 따라 문자열을 부분 문자열로 분할합니다. 부분 문자열이 빈 배열 요소를 포함하는지 여부를 지정할 수 있습니다.

네임스페이스:   System
어셈블리:  mscorlib(mscorlib.dll에 있음)

[ComVisibleAttribute(false)]
public string[] Split(
	char[] separator,
	StringSplitOptions options
)

매개 변수

separator
Type: System.Char[]

이 문자열의 부분 문자열을 구분하는 문자 배열, 구분 기호를 포함하지 않는 빈 배열 또는 null입니다.

options
Type: System.StringSplitOptions

반환된 배열에서 빈 배열 요소를 생략하려면 StringSplitOptions.RemoveEmptyEntries이고, 반환된 배열에 빈 배열 요소를 포함하려면 StringSplitOptions.None입니다.

반환 값

Type: System.String[]

해당 요소에 separator에 있는 하나 이상의 문자로 구분되는 이 문자열의 부분 문자열이 포함된 배열입니다. 자세한 내용은 설명 섹션을 참조하세요.

Exception Condition
ArgumentException

optionsStringSplitOptions 값 중 하나가 아닙니다.

구분 기호 문자 (의 문자는 separator 배열)의 반환된 된 배열 요소에 포함 되지 않습니다. 예를 들어 경우는 separator 문자를 포함 하는 배열 "-" 문자열 현재 인스턴스의 값이 "aa bb 참조", 세 개의 요소가 포함 된 배열을 반환 하 고: "aa", "bb" 및 "cc"입니다.

이 인스턴스가 없는 경우에 문자 separator, 반환 된 배열은이 인스턴스를 포함 하는 단일 요소로 구성 됩니다.

경우는 options 매개 변수는 RemoveEmptyEntries 하 고이 인스턴스의 길이 0, 메서드는 빈 배열을 반환 합니다.

각 요소 separator 단일 문자 구성 된 별도 구분 기호를 정의 합니다. 경우는 options 인수가 None, 및 두 개의 구분 기호는 인접 한 있거나 구분 기호에 시작 또는 끝이 인스턴스의 해당 배열 요소를 포함 String.Empty합니다. 예를 들어 경우 separator 두 개의 요소가 포함 되어 "-" 및 "_", 문자열 인스턴스의 값은 "-_aa-_", 및의 값은 options 인수는 None, 메서드는 다음 5 개의 요소로 문자열 배열을 반환:

  1. String.Empty를 앞에 빈 문자열을 나타내는 "-" 문자 인덱스 0에 있습니다.

  2. String.Empty사이의 빈 문자열을 나타내는 "-" 인덱스 0와 인덱스 1에 "_" 문자는 문자입니다.

  3. "aa",

  4. String.Empty인덱스 4에서 "_" 문자 뒤에 오는 빈 문자열을 나타냅니다.

  5. String.Empty뒤에 오는 빈 문자열을 나타내는 "-"에서 인덱스 5 문자.

경우는 separator 매개 변수는 null 포함 되지 않은 또는 공백 문자를 구분 기호로 간주 됩니다. 공백 문자는 유니코드 표준 및 반환 하 여 정의 된 true 전달 되는 경우는 Char.IsWhiteSpace 메서드.

경우는 separator 이 메서드 오버 로드에 대 한 호출에서 매개 변수는 null, 컴파일러 오버 로드 확인에 실패 합니다. 호출된 된 메서드를 명확 하 게 식별 하려면 코드의 형식을 나타내야는 null합니다. 다음 예제에서는이 오버 로드를 명확 하 게 식별 하는 여러 방법을 보여 줍니다.

string phrase = "The quick  brown fox";
string[] words;

words = phrase.Split(default(Char[]), StringSplitOptions.RemoveEmptyEntries);

words = phrase.Split((char[]) null, StringSplitOptions.RemoveEmptyEntries);

words = phrase.Split(null as char[], StringSplitOptions.RemoveEmptyEntries);

Split 의 문자를 하나 이상의 구분 되는이 문자열의 부분 문자열을 추출 하는 메서드는 separator 매개 변수를 배열 요소를 해당 부분 문자열을 반환 합니다.

Split 서 수 대/소문자 구분 정렬 규칙을 사용 하 여 비교를 수행 하 여 구분 기호에 대 한 메서드를 찾습니다. Word, 문자열 및 서 수 정렬 하는 방법에 대 한 자세한 내용은 참조는 System.Globalization.CompareOptions 열거형입니다.

Split 반환 된 배열 개체에 대 한 메모리를 할당 하는 메서드 및 String 각 배열 요소에 대 한 개체입니다. 응용 프로그램 성능을 최적화에 필요한 메모리 할당을 관리 응용 프로그램에서 중요 한 경우 명확히를 사용 하 여는 IndexOf 또는 IndexOfAny 메서드를 선택적으로 Compare 문자열 내에서 부분 문자열을 찾을 방법입니다.

사용 하 여 문자열 구분 기호 문자에서 분할 하는 경우는 IndexOf 또는 IndexOfAny 메서드는 문자열에서 구분 기호를 찾으려고 합니다. 사용 하 여 문자열에서 구분 기호 문자열을 분할 하는 경우는 IndexOf 또는 IndexOfAny 메서드 구분 기호 문자열의 첫 번째 문자를 찾습니다. 다음 사용 하 여는 Compare 메서드를 해당 첫 번째 문자 다음 구분 기호 문자열의 나머지 문자는와 같은지 여부를 확인 합니다.

또한 동일한 설정의 문자는 사용에서 여러 문자열을 분리 하 Split 메서드 호출을 단일 배열을 만들고 각 메서드 호출에서 참조 하는 것이 좋습니다. 각 메서드 호출의 추가 오버 헤드가 상당히 감소 합니다.

호출자 참고 사항:

에 .NET Framework 3.5 및 이전 버전을 하는 경우는 Split 메서드에 전달 됩니다는 separatornull 포함 되지 않은 또는 메서드 집합이 약간 다른 문자를 사용 하 여 보다 문자열을 분할는 Trim 메서드는 문자열을 트리밍를 수행 합니다. 에 .NET Framework 4, 두 가지 방법 유니코드 공백 문자의 것과 동일한 집합을 사용 합니다.

다음 예제에서는 StringSplitOptions 열거형을 포함 하거나 제외 하 여 생성 된 부분 문자열을는 Split 메서드.

// This example demonstrates the String() methods that use
// the StringSplitOptions enumeration.
using System;

class Sample 
{
    public static void Main() 
    {
    string s1 = ",ONE,,TWO,,,THREE,,";
    string s2 = "[stop]" +
                "ONE[stop][stop]" +
                "TWO[stop][stop][stop]" +
                "THREE[stop][stop]";
    char[] charSeparators = new char[] {','};
    string[] stringSeparators = new string[] {"[stop]"};
    string[] result;
// ------------------------------------------------------------------------------
// Split a string delimited by characters.
// ------------------------------------------------------------------------------
    Console.WriteLine("1) Split a string delimited by characters:\n");

// Display the original string and delimiter characters.
    Console.WriteLine("1a )The original string is \"{0}\".", s1);
    Console.WriteLine("The delimiter character is '{0}'.\n", 
                       charSeparators[0]);

// Split a string delimited by characters and return all elements.
    Console.WriteLine("1b) Split a string delimited by characters and " +
                      "return all elements:");
    result = s1.Split(charSeparators, StringSplitOptions.None);
    Show(result);

// Split a string delimited by characters and return all non-empty elements.
    Console.WriteLine("1c) Split a string delimited by characters and " +
                      "return all non-empty elements:");
    result = s1.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
    Show(result);

// Split the original string into the string and empty string before the 
// delimiter and the remainder of the original string after the delimiter.
    Console.WriteLine("1d) Split a string delimited by characters and " +
                      "return 2 elements:");
    result = s1.Split(charSeparators, 2, StringSplitOptions.None);
    Show(result);

// Split the original string into the string after the delimiter and the 
// remainder of the original string after the delimiter.
    Console.WriteLine("1e) Split a string delimited by characters and " +
                      "return 2 non-empty elements:");
    result = s1.Split(charSeparators, 2, StringSplitOptions.RemoveEmptyEntries);
    Show(result);

// ------------------------------------------------------------------------------
// Split a string delimited by another string.
// ------------------------------------------------------------------------------
    Console.WriteLine("2) Split a string delimited by another string:\n");

// Display the original string and delimiter string.
    Console.WriteLine("2a) The original string is \"{0}\".", s2);
    Console.WriteLine("The delimiter string is \"{0}\".\n", stringSeparators[0]);

// Split a string delimited by another string and return all elements.
    Console.WriteLine("2b) Split a string delimited by another string and " +
                      "return all elements:");
    result = s2.Split(stringSeparators, StringSplitOptions.None);
    Show(result);

// Split the original string at the delimiter and return all non-empty elements.
    Console.WriteLine("2c) Split a string delimited by another string and " +
                      "return all non-empty elements:");
    result = s2.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
    Show(result);

// Split the original string into the empty string before the 
// delimiter and the remainder of the original string after the delimiter.
    Console.WriteLine("2d) Split a string delimited by another string and " +
                      "return 2 elements:");
    result = s2.Split(stringSeparators, 2, StringSplitOptions.None);
    Show(result);

// Split the original string into the string after the delimiter and the 
// remainder of the original string after the delimiter.
    Console.WriteLine("2e) Split a string delimited by another string and " + 
                      "return 2 non-empty elements:");
    result = s2.Split(stringSeparators, 2, StringSplitOptions.RemoveEmptyEntries);
    Show(result);
    }

// Display the array of separated strings.
    public static void Show(string[] entries)
    {
    Console.WriteLine("The return value contains these {0} elements:", entries.Length);
    foreach (string entry in entries)
        {
        Console.Write("<{0}>", entry);
        }
    Console.Write("\n\n");
    }
}
/*
This example produces the following results:

1) Split a string delimited by characters:

1a )The original string is ",ONE,,TWO,,,THREE,,".
The delimiter character is ','.

1b) Split a string delimited by characters and return all elements:
The return value contains these 9 elements:
<><ONE><><TWO><><><THREE><><>

1c) Split a string delimited by characters and return all non-empty elements:
The return value contains these 3 elements:
<ONE><TWO><THREE>

1d) Split a string delimited by characters and return 2 elements:
The return value contains these 2 elements:
<><ONE,,TWO,,,THREE,,>

1e) Split a string delimited by characters and return 2 non-empty elements:
The return value contains these 2 elements:
<ONE><TWO,,,THREE,,>

2) Split a string delimited by another string:

2a) The original string is "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]".
The delimiter string is "[stop]".

2b) Split a string delimited by another string and return all elements:
The return value contains these 9 elements:
<><ONE><><TWO><><><THREE><><>

2c) Split a string delimited by another string and return all non-empty elements:
The return value contains these 3 elements:
<ONE><TWO><THREE>

2d) Split a string delimited by another string and return 2 elements:
The return value contains these 2 elements:
<><ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]>

2e) Split a string delimited by another string and return 2 non-empty elements:
The return value contains these 2 elements:
<ONE><TWO[stop][stop][stop]THREE[stop][stop]>

*/

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
2.0 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: