2012-04-24 13 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:"); 

あなたは今、私は

+0

しかし、私は実際には文字列[]ライン= Regex.Split(lst_Box.items [I]を使用していました。テキスト、 ":その他:"); –

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

何ができることは最初のコロンに文字列を分割された推測lines[1]が必要になりますし、その後、アレイ内の最後の項目は、あなたのデータになります「」欲しいです。

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

関連する問題