(0) exportieren Drucken
Alle erweitern

String.Split-Methode (String[], StringSplitOptions)

Hinweis: Diese Methode ist neu in .NET Framework, Version 2.0.

Gibt ein String-Array zurück, das die Teilzeichenfolgen in dieser Zeichenfolge enthält, die durch Elemente eines angegebenen String-Arrays getrennt sind. Ein Parameter gibt an, ob leere Arrayelemente zurückgegeben werden sollen.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

[ComVisibleAttribute(false)] 
public string[] Split (
	string[] separator,
	StringSplitOptions options
)
/** @attribute ComVisibleAttribute(false) */ 
public String[] Split (
	String[] separator, 
	StringSplitOptions options
)
ComVisibleAttribute(false) 
public function Split (
	separator : String[], 
	options : StringSplitOptions
) : String[]

Parameter

separator

Ein Array von Zeichenfolgen, die die Teilzeichenfolgen in dieser Zeichenfolge trennen, ein leeres Array ohne Trennzeichen oder NULL (Nothing in Visual Basic).

options

Geben Sie RemoveEmptyEntries an, um leere Arrayelemente aus dem zurückgegebenen Array auszulassen, oder None, um leere Arrayelemente in das zurückgegebene Array einzuschließen.

Rückgabewert

Ein Array, dessen Elemente die Teilzeichenfolgen in dieser Zeichenfolge enthält, die durch ein oder mehr Zeichenfolgen aus separator getrennt sind. Weitere Informationen finden Sie im Abschnitt Hinweise.

AusnahmetypBedingung

ArgumentException

options ist keiner der StringSplitOptions-Werte.

Rückgabewertdetails

Trennzeichenfolgen sind in den Elementen des Rückgabewertarrays nicht enthalten. Trennzeichen werden bei einem Ordinalvergleich erkannt.

Wenn diese Instanz keine der Zeichenfolgen in separator enthält, besteht das Array mit Rückgabewerten aus einem einzelnen Element, das diese Instanz enthält. Wenn der separator-Parameter NULL (Nothing in Visual Basic) ist oder keine Zeichen enthält, werden Leerraumzeichen als Trennzeichen angenommen.

Wenn der options-Parameter RemoveEmptyEntries und die Länge dieser Instanz 0 (null) ist, wird ein leeres Array zurückgegeben.

Wenn der options-Parameter None ist und zwei Trennzeichen aufeinander folgen oder ein Trennzeichen sich am Anfang oder Ende dieser Instanz befinden, enthält das entsprechende Arrayelement Empty.

Vergleichsdetails

Die Split-Methode extrahiert die Teilzeichenfolgen in dieser Zeichenfolge, die durch eine oder mehr Zeichenfolgen im separator-Parameter getrennt sind, und gibt diese Teilzeichenfolgen als Elemente eines Arrays zurück.

Die Split-Methode sucht nach Trennzeichen, indem sie Vergleiche mit der Ordinalsortierung unter Berücksichtigung der Groß- und Kleinschreibung ausführt. Weitere Informationen über das Sortieren nach Wörtern, Zeichenfolgen und Ordnungszahlen finden Sie unter der System.Globalization.CompareOptions-Enumeration.

Die Split-Methode ignoriert alle Elemente von separator, deren Wert NULL (Nothing in Visual Basic) oder eine leere Zeichenfolge ("") ist.

Zur Vermeidung mehrdeutiger Ergebnisse, wenn Zeichenfolgen separator gleiche Zeichen enthalten, verarbeitet die Split-Operation den Wert der Instanz vom Anfang zum Ende und gibt eine Übereinstimmung für das erste Element in separator aus, das gleich einem Trennzeichen in der Instanz ist. Die Reihenfolge, in der Teilzeichenfolgen in der Instanz vorkommen, hat Vorrang vor der Reihenfolge der Elemente in separator.

Beispiel sei eine Instanz mit dem Wert "abcdef". Wenn das erste Element in separator "ef" lautet und das zweite Element "bcde", ist das Ergebnis der Teilungsoperation "a" und "f". Der Grund hierfür ist, dass die Teilzeichenfolge "bcde" in der Instanz vorkommt und mit einem Element in separator übereinstimmt, bevor die Teilzeichenfolge "f" verarbeitet wird.

Wenn das erste Element in separator jedoch "bcd" lautet und das zweite Element "bc", ist das Ergebnis der Teilungsoperation "a" und "ef". Das liegt daran, dass "bcd" das erste Trennzeichen in separator ist, das mit einem Trennzeichen in der Instanz übereinstimmt. Wenn die Reihenfolge der Trennzeichen umgekehrt wird, sodass "bc" das erste Element und "bcd" das zweite Element ist, ist das Ergebnis "a" und "def".

Im folgenden Codebeispiel wird die StringSplitOptions-Enumeration verwendet, um von der Split-Methode generierte Teilzeichenfolgen ein- oder auszuschließen.

// 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 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0

.NET Compact Framework

Unterstützt in: 2.0
Anzeigen:
© 2014 Microsoft