Question

Comment divisez-vous une chaîne?

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

Mon objectif actuel est d'insérer chacun de ces animaux dans une listBox afin qu'ils deviennent des éléments dans une zone de liste.

mais je pense que je comprends comment insérer ces éléments si je sais comment scinder la chaîne. ou connaissez-vous un meilleur moyen de le faire?

im utilisant asp c #

Était-ce utile?

La solution

    string[] tokens = text.Split(',');

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

Autres conseils

Avez-vous essayé String.Split ? Vous aurez peut-être besoin de post-traitement pour supprimer les espaces si vous voulez " a, b, c " pour se terminer par {"a", "b", "c"} mais "a b, c" pour se terminer par {"a b", "c"}.

Par exemple:

private readonly char[] Delimiters = new char[]{','};

private static string[] SplitAndTrim(string input)
{
    string[] tokens = input.Split(Delimiters,
                                  StringSplitOptions.RemoveEmptyEntries);

    // Remove leading and trailing whitespace
    for (int i=0; i < tokens.Length; i++)
    {
        tokens[i] = tokens[i].Trim();
    }
    return tokens;
}

Version Linq inutile;

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

Ou simplement:

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

Ou ceci pour vous assurer que les chaînes sont coupées:

targetListBox.Items.AddRange((from each in inputString.Split(',')
    select each.Trim()).ToArray<string>());

Oups! Comme le font remarquer les commentaires, j'ai oublié qu'il s'agissait d'ASP.NET. Par conséquent, l'initialisation à partir d'un tableau de chaînes est impossible. Vous devez le faire comme suit:

var items = (from each in inputString.Split(',')
    select each.Trim()).ToArray<string>();

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[] { ',' });
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top