C # -Splitzeichenfolge mit einem variablen Längenbegrenzer

C # -String-Typen verfügen über eine Methode, um sich aufzuteilen, wenn ein bestimmter Begrenzer gefunden wird. Diese Methode gibt ein Zeichenfolgenarray zurück, das die Teilzeichenfolgen enthält, die von Elementen eines angegebenen Unicode-Zeichenarrays begrenzt werden.

Strings mit char [] teilen

Das Aufteilen einer Satzzeichenfolge in einzelne Wörter mit einem Leerzeichen ist eine häufige Anforderung. Ein Aufruf der String.Split () -Methode würde folgendermaßen aussehen:

string words = "Dies ist eine Liste von Wörtern mit: etwas Interpunktion.";
string [] split = words.Split (neues Zeichen [] {", ',', '.', ':'});

Das würde das String-Array erzeugen:

{"Dies", "ist", "eine", "Liste", "von", "Wörter", "mit", "ein", "Bit", "von", "Interpunktion"}

Das Teilen einer Zeichenfolge mit Leerzeichen mit der Methode funktioniert wie ein Zauber! Was wäre jedoch, wenn wir uns mit einem komplexeren Trennzeichen trennen wollten?

Strings teilen mit string []

Lassen Sie uns für unser nächstes Beispiel unser Trennzeichen komplexer machen, indem Sie nur auf Vorkommen von Komma und Leerzeichen und auf Vorkommen von mehreren Buchstaben wie „ae“ aufteilen.

Wir können auch andere String.Split () - Methoden dafür verwenden. In diesem Beispiel wird die String.Split (String [], StringSplitOptions) -Methode veranschaulicht. StringSplitOptions bestimmt, ob die .Split () - Methode Arrayelemente zurückgibt, die eine leere Zeichenfolge enthalten.

Hier ist unser Beispielcode:

string words = "Dies ist eine Liste von Wörtern: Ästhetik, Präfekt";
Zeichenfolge [] Trennzeichen = {",", "ae"};
string [] split = words.Split (Trennzeichen, StringSplitOptions.None);

Das würde das String-Array erzeugen:

{"Dies ist eine Liste von Wörtern:", "Sthetics", "pr", "fect"}