Comment diviser une chaîne en plusieurs valeurs?

Comment divisez-vous une chaîne?

Disons que j’ai une chaîne “chien, chat, souris, oiseau”

Mon objective actuel est d’insérer chacun de ces animaux dans un listBox afin qu’ils deviennent des éléments dans une liste.

mais je pense que je comprends comment insérer ces éléments si je sais comment scinder la chaîne. ou quelqu’un sait-il une meilleure façon de faire cela?

im utilisant asp c #

ssortingng[] tokens = text.Split(','); for (int i = 0; i < tokens.Length; i++) { yourListBox.Add(new ListItem(token[i], token[i])); } 

Avez-vous essayé Ssortingng.Split ? Vous aurez peut-être besoin d’un post-traitement pour supprimer les espaces si vous voulez que “a, b, c” se termine par {“a”, “b”, “c”} mais que “ab, c” se termine par {“ab “,” c “}.

Par exemple:

 private readonly char[] Delimiters = new char[]{','}; private static ssortingng[] SplitAndTrim(ssortingng input) { ssortingng[] tokens = input.Split(Delimiters, SsortingngSplitOptions.RemoveEmptyEnsortinges); // Remove leading and trailing whitespace for (int i=0; i < tokens.Length; i++) { tokens[i] = tokens[i].Trim(); } return tokens; } 

Inutile Linq version;

 from s in str.Split(',') where !Ssortingng.IsNullOrEmpty(s.Trim()) select s.Trim(); 

Ou simplement:

 targetListBox.Items.AddRange(inputSsortingng.Split(',')); 

Ou ceci pour s’assurer que les cordes sont coupées:

 targetListBox.Items.AddRange((from each in inputSsortingng.Split(',') select each.Trim()).ToArray()); 

Oops! Comme le soulignent les commentaires, j’ai oublié qu’il s’agissait d’ASP.NET; il est donc impossible de l’initialiser à partir d’un tableau de chaînes. Vous devez le faire comme suit:

 var items = (from each in inputSsortingng.Split(',') select each.Trim()).ToArray(); foreach (var currentItem in items) { targetListBox.Items.Add(new ListItem(currentItem)); } 

Il vous donne un tableau de chaînes par strVar.Split

 "dog, cat, mouse,bird".Split(new[] { ',' });