【问题标题】:How do i split a String into multiple values?如何将字符串拆分为多个值?
【发布时间】:2010-09-19 13:17:50
【问题描述】:

如何拆分字符串?

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

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

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

我使用asp c#

【问题讨论】:

  • 为什么人们不赞成这个问题?我认为这是一个完全有效的问题。

标签: c# asp.net visual-studio string listbox


【解决方案1】:
    string[] tokens = text.Split(',');

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

【讨论】:

  • 这很漂亮,很简单......而且它可以工作,但有一些小的修改。
  • Adyt,ZombieSheep 是对的,添加 .Trim() 但我猜你明白了。我想清楚地说明所提出的问题,仅此而已。
【解决方案2】:

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

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

【讨论】:

  • 创建一个单元素字符数组是相当多余的。您可以直接将单个字符传递给 Split 方法。
【解决方案3】:

你试过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;
}

【讨论】:

    【解决方案4】:

    或者简单地说:

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

    或者这样来确保字符串被修剪:

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

    哎呀!正如 cmets 指出的那样,错过了它是 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));
    }
    

    【讨论】:

    • 据我所知,ListBox.Items.AddRange 在 ASP.NET 中需要 ListItem[] 而不是 String[]。
    【解决方案5】:

    不需要的 Linq 版本;

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

    【讨论】:

    • 我认为这个版本只是因为它删除了空元素...酷!
    猜你喜欢
    • 2021-01-30
    • 2011-11-02
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2017-03-24
    • 1970-01-01
    相关资源
    最近更新 更多