如何从列表框中获取特定字符串

时间:2012-04-24 08:17:46

标签: c# .net string listboxitem

我有一个包含一些文本的列表框,我希望在其他之后获得所有字符串: 这是我使用的代码

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

所以如何在"其他之后返回数据:"如果此数据发生变化,并且原因也会根据用户选择而变化。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

你现在需要lines[1]我猜

答案 2 :(得分: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