Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从列表框中获取特定字符串_C#_.net_String_Listboxitem - Fatal编程技术网

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

C# 如何从列表框中获取特定字符串,c#,.net,string,listboxitem,C#,.net,String,Listboxitem,我有一个包含一些文本的列表框,我想在其他文本之后获取所有字符串: 这就是我使用的代码 string[] causearr = lst_Box.Items[i].Value.Split('-'); SqlSrcComplainCgeAnalysis.InsertParameters["ID"].DefaultValue =causearr[0].ToString(); SqlSrcComplainCgeAnalysis.InsertParame

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

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
那么如何在“其他:”之后返回数据,如果此数据发生更改,那么原因也会根据用户的选择发生更改

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

您现在需要
行[1]
我想您可以先在冒号“:”上拆分字符串,然后数组中的最后一项就是您想要的数据

result[0] == 'Cause'
result[1] == 'SpareParts-SubCause'
result[2] == 'Others'
result[4] == 'Cause'
result[5] == 'First Line'
或者您可以使用正则表达式以一种很酷的方式完成所有这些:


但我实际上使用了string[]line=Regex.Split(lst_Box.items[i].Text,“:Others:”);
result[0] == 'Cause'
result[1] == 'SpareParts-SubCause'
result[2] == 'Others'
result[4] == 'Cause'
result[5] == 'First Line'