fractionnement d’une chaîne basée sur plusieurs délimiteurs de caractères

J’ai une chaîne “4,6,8 \ n9,4”

Je veux diviser cela en fonction de, et \ n

Le tableau de sortie doit être

4 6 8 9 4 

Modifier :

Maintenant, je lis la chaîne de la console, quand j’entre une chaîne comme ci-dessus dans la console, dans le code derrière, je reçois comme "4,6,8\\n9,4" . Maintenant que je veux diviser en utilisant "," and "\\n" . Comment puis-je changer l’expression?

Utilisez ssortingng.Split (char [])

 ssortingng ssortingngs = "4,6,8\n9,4"; ssortingng [] split = ssortingngs .Split(new Char [] {',' , '\n' }); 

MODIFIER

Essayez de suivre si vous obtenez des articles vides inutiles. Méthode Ssortingng.Split (Ssortingng [], SsortingngSplitOptions)

 ssortingng [] split = ssortingngs .Split(new Char [] {',' , '\n' }, SsortingngSplitOptions.RemoveEmptyEnsortinges); 

EDIT2

Cela fonctionne pour votre question mise à jour. Ajoutez tous les caractères fractionnés nécessaires au caractère char [] .

 ssortingng [] split = ssortingngs.Split(new Char[] { ',', '\\', '\n' }, SsortingngSplitOptions.RemoveEmptyEnsortinges); 
 var s = "4,6,8\n9,4"; var split = s.Split(new char[]{',', '\n'}); 

Mais ça doit être dupe …

EDIT : Répondre au commentaire.

Ce code:

 static void Main(ssortingng[] args) { var s = "4,6,8\n9,4"; foreach (var a in s.Split(new char[] { ',', '\n' })) System.Diagnostics.Debug.WriteLine(a); } 

Sort ceci:

 4 6 8 9 4 

EDIT : La lecture de l’entrée depuis la console est différente. \n est différent lorsqu’il est entré manuellement.

 static void Main(ssortingng[] args) { var s = "4,6,8\\n9,4"; foreach (var a in s.Split(new ssortingng[] { ",", "\\n" }, SsortingngSplitOptions.RemoveEmptyEnsortinges)) System.Diagnostics.Debug.WriteLine(a); } 

Une autre option consiste à utiliser Regex.Split . Ceci est utile lorsque les séquences fractionnées sont plus complexes. Par exemple, si des espaces peuvent également faire partie des délimiteurs séparés tels que:

 "4,6,8 , 9\\n\\n4" 

Alors:

 using System.Text.RegularExpressions; var i = "4,6,8 , 9\n\n4"; var o = Regex.Split(i, @"[,\s\n]+"); // now o is: // new ssortingng[] { "4", "6", "8", "9" } 

Notez que l’expression régulière utilisée est “plus acceptable” – elle a ignoré le “vide” vide entre les \ n et elle accepterait “4 6 8 9 4” de la même manière – donc, pour afficher un point: il y a plus qu’une façon de peler un chat.

Heureux codage

 ssortingng tosplit = "4,6,8\n9,4"; var split = tosplit.Split(new Char [] {',', '\n' }); 

Juste au cas où vous n’imprimez pas / ne le voyez pas correctement:

 split.ToList().ForEach(Console.WriteLine); 

Pouvez-vous faire une chaîne de caractères.Remplacement (‘\ n’, ‘,’) suivi de la chaîne.split (‘,’)?