2011-05-18 25 views
1

我是用于存储用户输入的不同字符串的列表框。 但我想分割这些列表框项目,我想每个项目的第一个单词作为单独的字符串和其他字符串休息。 我循环列表框项目作为从列表框项目中拆分字符串

foreach (ListItem item in lstboxColumnList.Items) 
      { 

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

我怎么能拿分割后的字符串

+2

呃,['String.Split'](http://msdn.microsoft.com/en-us/library/system.string.split.aspx)? – 2011-05-18 14:31:52

回答

0

假设冷杉单词以空白结束,您可以使用类似如下:

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

我不知道你的列表框项目的格式.. 但我认为你的列表框项目至少有2个单词和一个空格分开.. 所以,你可以使用子字符串和索引..

string first = sentence.SubString(0, sentence.IndexOf(" ")); 
string second = sentence.SubString(sentence.IndexOf(" ") + 1); 
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第一次轮。

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!! 
}