3

你如何分割一个字符串?

假设我有一个字符串“狗,猫,老鼠,鸟”

我的实际目标是将这些动物中的每一个插入到列表框中,这样它们就会成为列表框中的项目。

但我想如果我知道如何拆分字符串,我就会知道如何插入这些项目。或者有人知道更好的方法吗?

我使用asp c#

4

5 回答 5

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

    for (int i = 0; i < tokens.Length; i++)
    {
          yourListBox.Add(new ListItem(token[i], token[i]));
    }
于 2008-10-28T10:02:02.963 回答
4

你试过String.Split吗?如果您希望 "a, b, c" 以 {"a", "b", "c"} 结尾但 "ab, c" 以 {"a b “, “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;
}
于 2008-10-28T10:03:28.437 回答
4

不需要的 Linq 版本;

from s in str.Split(',')
where !String.IsNullOrEmpty(s.Trim())
select s.Trim();
于 2008-10-28T11:51:57.767 回答
2

或者简单地说:

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

或者这样做以确保修剪字符串:

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

哎呀!正如评论指出的那样,错过了它是 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));
}
于 2008-10-28T10:16:20.813 回答
1

它通过 strVar.Split 为您提供一个字符串数组

"dog, cat, mouse,bird".Split(new[] { ',' });
于 2008-10-28T10:02:54.227 回答