2010-06-03 6 views
3

Supposons que vous ayez à diviser une chaîne par divers délimiteurs, notamment newline (/ r,/n) et quelques autres chaînes de caractères "spéciales".Délimiteurs multiples utilisant Regex.Split en C#

Par exemple:

This is a sample %%% text &&& that I would 
like to split %%% into an array. 

je voudrais ce qui suit dans le tableau de chaîne résultante (contenu via index)

[0]This is a sample 
[1]text 
[2]that I would 
[3]like to split 
[4]into an array. 

Je voudrais utiliser C# fonction Regex.Split(). Quelle est l'expression regex à correspondre sur tous mes délimiteurs?

Merci d'avance

Répondre

5

Juste pour info, la méthode vanilla String.Split() a une surcharge qui accepte un tableau de chaînes à utiliser comme délimiteurs. Here's un lien vers la page de MSDN le décrivant.

+0

Merci! Je ne peux pas croire que j'ai raté celui-ci. Cela a résolu mon problème d'entrée vide supplémentaire. –

+0

De rien. Heureux d'aider! –

-3

Je n'ai pas cette solution prête. Vous pouvez créer une classe et comparer avec elle. Vous pouvez être signifiés par:

http://www.regexbuddy.com/

5

%%%|&&& devrait le faire.

+0

De même, vous pouvez utiliser @ "[\ r \ n ... insérer des caractères ici ...] +" pour éliminer le fractionnement multiple si les séparateurs sont voisins. Ou @ "[\ r \ n]" pour diviser même si les voisins. –

+0

Merci, je pense que je suis presque là. J'ai seulement un problème où il y a une entrée supplémentaire (vide) dans mon tableau de chaînes pour ces délimiteurs. –

+0

Je suis allé avec la solution d'Eric mais je suis sûr que je me suis trompé quelque part. Merci Dave et Fredrik. –

Questions connexes