Domanda

Come dividi una stringa?

Diciamo che ho una stringa " cane, gatto, topo, uccello "

Il mio vero obiettivo è quello di inserire ciascuno di quegli animali in una listBox, in modo che diventino elementi in una casella di riepilogo.

ma penso di avere l'idea di come inserire quegli elementi se so come dividere la stringa. o qualcuno conosce un modo migliore per farlo?

sto usando asp c #

È stato utile?

Soluzione

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

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

Altri suggerimenti

Hai provato String.Split ? Potrebbe essere necessario un po 'di post-elaborazione per rimuovere gli spazi bianchi se vuoi " a, b, c " per finire come {"a", "" b "," c "ma" ma a, c " per finire come {" a b " ;, " c "}.

Ad esempio:

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;
}

Versione Linq inutile;

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

O semplicemente:

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

O questo per garantire che le stringhe siano tagliate:

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

Oops! Come sottolineano i commenti, ho perso che era ASP.NET, quindi non è possibile inizializzare dall'array di stringhe - è necessario farlo in questo modo:

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

foreach (var currentItem in items)
{
    targetListBox.Items.Add(new ListItem(currentItem));
}

Ti dà un array di stringhe di strVar.Split

"dog, cat, mouse,bird".Split(new[] { ',' });
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top