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 (‘,’)?