Как разделить строку на несколько значений? - PullRequest
2 голосов
/ 28 октября 2008

Как разбить строку?

Допустим, у меня есть строка "собака, кошка, мышь, птица"

Моя настоящая цель - вставить каждого из этих животных в список, чтобы они стали элементами в списке.

но я думаю, что я понял, как вставить эти элементы, если я знаю, как разбить строку. или кто-нибудь знает лучший способ сделать это?

я использую asp c #

Ответы [ 5 ]

8 голосов
/ 28 октября 2008
    string[] tokens = text.Split(',');

    for (int i = 0; i < tokens.Length; i++)
    {
          yourListBox.Add(new ListItem(token[i], token[i]));
    }
4 голосов
/ 28 октября 2008

Needless Linq версия;

from s in str.Split(',')
where !String.IsNullOrEmpty(s.Trim())
select s.Trim();
4 голосов
/ 28 октября 2008

Вы пробовали String.Split ? Вам может потребоваться некоторая пост-обработка для удаления пробелов, если вы хотите, чтобы «a, b, c» заканчивались как {«a», «b», «c»}, но «ab, c» заканчивались как {«ab "," c "}.

Например:

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;
}
2 голосов
/ 28 октября 2008

Или просто:

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

Или это, чтобы убедиться, что строки обрезаны:

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

Oops! Как отмечают комментарии, пропущено, что это ASP.NET, поэтому невозможно инициализировать из массива строк - нужно сделать это так:

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

foreach (var currentItem in items)
{
    targetListBox.Items.Add(new ListItem(currentItem));
}
1 голос
/ 28 октября 2008

Это дает вам массив строк по strVar.Split

"dog, cat, mouse,bird".Split(new[] { ',' });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...