Chaîne de fractionnement C # à l'aide d'un séparateur de longueur variable

Les types de chaîne C # ont une méthode pour se scinder quand un certain délimiteur est rencontré. Cette méthode retourne un tableau de chaînes contenant les sous-chaînes délimitées par les éléments d'un tableau de caractères Unicode spécifié.

Fractionner des chaînes en utilisant char []

Fractionner une chaîne de phrases en mots individuels avec un séparateur d'espace est une exigence courante. Faire cela bien qu'un appel à la méthode String.Split () ressemble à ceci:

string words = "Ceci est une liste de mots, avec: un peu de ponctuation.";
string [] split = words.Split (new Char [] {", ',', '.', ':'});

Cela produirait le tableau de chaînes:

{"Ceci", "est", "a", "liste", "de", "mots", "avec", "un", "bit", "de", "ponctuation"}

Diviser une chaîne en utilisant des espaces avec la méthode fonctionne à merveille! Cependant, que se passe-t-il si nous souhaitons scinder à l'aide d'un délimiteur plus complexe?

Fractionner des chaînes en utilisant string []

Pour notre exemple suivant, rendons notre délimiteur plus complexe en ne divisant que les occurrences de virgule et d'espace et les occurrences de plusieurs lettres telles que "ae"?

Nous pouvons également utiliser d'autres méthodes String.Split (). Cet exemple illustre la méthode String.Split (String [], StringSplitOptions). StringSplitOptions détermine si la méthode .Split () renverra des éléments de tableau contenant une chaîne vide.

Voici notre exemple de code:

string words = "Ceci est une liste de mots: esthetics, praefect";
string [] separators = {",", "ae"};
string [] split = words.Split (séparateurs, StringSplitOptions.None);

Cela produirait le tableau de chaînes:

{"Ceci est une liste de mots:", "sthetics", "pr", "fect"}