从列表框项中拆分字符串

时间:2011-05-18 14:30:29

标签: c# listbox

我是列表框,用于存储用户提供的不同字符串作为输入。 但我想拆分那些列表框项目,我希望将每个项目的第一个单词作为单独的字符串,并作为其他字符串休息。 我正在将列表框项重复为

foreach (ListItem item in lstboxColumnList.Items)
            {

                column_name = temp + "\" "+item+"\"";
                temp = column_name + "," + Environment.NewLine;
            }

我怎么能得到分裂的字符串

4 个答案:

答案 0 :(得分:0)

假设第一个单词以空格结尾,您可以使用以下内容:

string firsWord = sentence.SubString(0, sentence.IndexOf(' '));
string remainingSentence = sentence.SubString(sentence.IndexOf(' '), sentence.Length);

答案 1 :(得分:0)

我不知道你的列表框项目的格式.. 但我假设你的列表框项目至少有2个单词并用空格分隔.. 所以,你可以使用子串和索引来进行拆分..

string first = sentence.SubString(0, sentence.IndexOf(" "));
string second = sentence.SubString(sentence.IndexOf(" ") + 1);

答案 2 :(得分:0)

    public void Test()
    {
        List<string> source = new List<string> {
            "key1 some data",
            "key2 some more data",
            "key3 yada..."};
        Dictionary<string, string> resultDictionary = source.ToDictionary(n => n.Split(' ').First, n => n.Substring(n.IndexOf(' ')));
        List<string> resultStrings = source.Select(n => string.Format("\"{0}\",{1}", n.Split(' ').First, n.Substring(n.IndexOf(' ')))).ToList;
    }

resultDictionary是一个字典,其键设置为源列表中每个字符串的第一个单词。

第二个关闭符合您问题中的要求,即它以您指定的格式输出字符串列表。

编辑:道歉,第一次在VB发布。

答案 3 :(得分:0)

结帐:

 var parts = lstboxColumnList.Items.OfType<ListItem>().Select(i => new { 
                          Part1 = i.Text.Split(' ').FirstOrDefault(),
                          Part2 = i.Text.Substring(i.Text.IndexOf(' '))
                       });

 foreach (var part in parts)
 {
     var p1 = part.Part1;
     var p2 = part.Part2;

     // TODO: use p1, p2 in magic code!!
 }