Diviser une chaîne par une autre chaîne en C#

J&#8217ai utilisé la méthode Split() pour diviser des chaînes de caractères, mais cela ne semble fonctionner que si l&#8217on divise une chaîne par un caractère. Existe-t-il un moyen de diviser une chaîne de caractères en utilisant une autre chaîne comme paramètre de division ?

J'ai essayé de convertir le séparateur en un tableau de caractères, mais sans succès.

En d'autres termes, j'aimerais diviser la chaîne de caractères :

THExxQUICKxxBROWNxxFOX

par xx, et retourner un tableau de valeurs :

THE, QUICK, BROWN, FOX

Solution

Pour diviser par une chaîne de caractères, vous devez utiliser la [surcharge du tableau de chaînes de caractères][1].

string data = "THExxQUICKxxBROWNxxFOX";

return data.Split(new string[] { "xx" }, StringSplitOptions.None);

[1] : http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

Commentaires (14)

Il existe une [surcharge de Split][1] qui prend des chaînes de caractères.

"THExxQUICKxxBROWNxxFOX".Split(new [] { "xx" }, StringSplitOptions.None);

Vous pouvez utiliser l'une ou l'autre de ces options StringSplitOptions

  • None - La valeur de retour inclut les éléments du tableau qui contiennent une chaîne vide
  • RemoveEmptyEntries - La valeur de retour n'inclut pas les éléments du tableau qui contiennent une chaîne vide. n'inclut pas les éléments du tableau qui qui contiennent une chaîne vide

Ainsi, si la chaîne est "THExxQUICKxxxxBROWNxxFOX&quot ;, StringSplitOptions.None retournera une entrée vide dans le tableau pour la partie "xxxx&quot ; alors que StringSplitOptions.RemoveEmptyEntries ne le fera pas.

[1] : http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

Commentaires (0)
Regex.Split(string, "xx")

c'est la façon dont je le fais habituellement. Bien sûr, vous aurez besoin d'un

using System.Text.RegularExpressions;

mais là encore, j'ai besoin de cette bibliothèque tout le temps.

Commentaires (3)