2012-04-24 50 views
0

特定字符串我有一些文本列表框,我想要得到的所有字符串后,其他: ,这是我使用如何从列表框中

string[] causearr = lst_Box.Items[i].Value.Split('-'); 

SqlSrcComplainCgeAnalysis.InsertParameters["ID"].DefaultValue =causearr[0].ToString();       SqlSrcComplainCgeAnalysis.InsertParameters["subId"].DefaultValue = causearr[2].ToString(); 

if (txt_OtherCause.Text != string.Empty && txt_OtherCause.Visible == true && (int.Parse(causearr[2].ToString()) == 7 || int.Parse(causearr[2].ToString()) == 15 || int.Parse(causearr[2].ToString()) == 21)) 
    SqlSrcComplainCgeAnalysis.InsertParameters["CauseComments"].DefaultValue = causearr[3].ToString().Substring(causearr[3].ToString().LastIndexOf(":") + 3); 
else 
     SqlSrcComplainCgeAnalysis.InsertParameters["CauseComments"].DefaultValue = string.Empty; 

的代码,这是在数据如果这个数据的变化,也是导致更改根据用户的选择:列表框

Cause:SpareParts-SubCause:Others: First Line 
Cause:Technical-SubCause:Others: Second Line 

所以如何回后数据“其他”。

回答

0
string value = "Cause:SpareParts-SubCause:Others: First Line" 

string[] lines = Regex.Split(value, ":Others:"); 

你现在需要lines[1]我猜

+0

但我实际使用字符串[] =行Regex.Split(lst_Box.items [1]。文本,“:其他:”); – 2012-04-24 09:41:11

1
string s = "Cause:SpareParts-SubCause:Others: First Line".Split(new char[] { ' ' }, 2)[1]; 
0

你可以做的是分割字符串先上冒号“:”,然后数组中的最后一个项目将是数据,你想。

result[0] == 'Cause' 
result[1] == 'SpareParts-SubCause' 
result[2] == 'Others' 
result[4] == 'Cause' 
result[5] == 'First Line' 

,或者你可以使用正则表达式来做到这一切在一个很酷的方式:

http://msdn.microsoft.com/en-us/library/hs600312.aspx