3

文字列をどのように分割しますか?

「犬、猫、ネズミ、鳥」という文字列があるとしましょう

私の実際の目標は、それらの動物をそれぞれ listBox に挿入して、リスト ボックスの項目にすることです。

しかし、文字列を分割する方法を知っていれば、それらのアイテムを挿入する方法についてのアイデアが得られると思います。または、これを行うためのより良い方法を知っている人はいますか?

私は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 に答える