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

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

 

배열에 있는 문자에 따라 최대 개수의 부분 문자열로 문자열을 분할합니다.

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

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

매개 변수

separator
Type: System.Char[]

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

count
Type: System.Int32

반환할 부분 문자열의 최대 수입니다.

options
Type: System.StringSplitOptions

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

반환 값

Type: System.String[]

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

Exception Condition
ArgumentOutOfRangeException

count가 음수입니다.

ArgumentException

optionsStringSplitOptions 값 중 하나가 아닙니다.

구분 기호 문자는 반환 된 배열의 요소에 포함 되지 않습니다.

이 인스턴스가 없는 경우에 문자 separator, 또는 count 매개 변수가 1 이면 반환 된 배열은이 인스턴스를 포함 하는 단일 요소로 구성 됩니다. 경우는 separator 매개 변수는 null 포함 되지 않은 또는 공백 문자를 구분 기호로 간주 됩니다. 공백 문자는 유니코드 표준 및 반환 하 여 정의 된 true 전달 되는 경우는 Char.IsWhiteSpace 메서드. 그러나 경우는 separator 이 메서드 오버 로드에 대 한 호출에서 매개 변수는 null, 컴파일러 오버 로드 확인에 실패 합니다. 호출된 된 메서드를 명확 하 게 식별 하려면 코드에는 null의 형식을 나타내야 합니다. 다음 예제에서는이 오버 로드를 명확 하 게 식별 하는 여러 방법을 보여 줍니다.

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

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

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

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

경우는 count 매개 변수는 0 또는 options 매개 변수는 RemoveEmptyEntries 고이 인스턴스의 길이 0, 빈 배열이 반환 됩니다.

각 요소 separator 별도 구분 기호 문자를 정의 합니다. 경우는 options 매개 변수는 None, 및 두 개의 구분 기호는 인접 한 있거나 구분 기호에 시작 또는 끝이 인스턴스의 해당 배열 요소를 포함 Empty합니다.

없는 경우 개 이상의 count 이 인스턴스의 부분 문자열이 첫 번째 count 1 부분 문자열에서 뺀 반환될지 첫 번째 범위에서 count 의 반환 값과 나머지이 인스턴스의 문자를이 요소는 반환 값의 마지막 요소에 반환 됩니다.

경우 count 수보다 크면의 부분 문자열을 사용할 수 있는 부분 문자열이 반환 되 고 예외가 throw 되지 않습니다.

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 플랫폼 에서 지원됨
Windows Phone Silverlight
8.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: