2016-08-26 7 views
-4

私は、文字列を持っている:Linqを使って改行とスペースに文字列を分割する方法は?

string data = 
"item1 actived 
item2 none 
item special I none 
item special II actived" 

あなたがデータに4行を見ることができます。私が試したよ

item[0]={Name=item1, Status=actived} 
item[1]={Name=item2, Status=none} 
item[2]={Name=item Special I, Status=none} 
item[3]={Name=item Special II, Status=actived} 

var s = SplitReturn(data); 
public string[] SplitReturn(string name) 
{ 
    return name.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 
} 

は、どのように私は、文字列にスペースを分割して、リストに変換することができますか?私は以下のようにリスト項目に文字列を分割する必要があり

+1

あなたの質問は何ですか(要件ではありません)。 – qxg

+0

あなたが試したことを何も表示せずに、それがどれほど速く落ちているかを見る.... –

+0

は "item1 actived item2 none item special"という文字列で、 "item1 actived \ n \ ritem2 none \ n \ ritem"特別な私なし\ n \ rアイテム特別なIIが起動しました " – Neil

答えて

2
string data = 
    @"item1 actived 
    item2 none 

    item special I none 
    item special II actived"; 

var result = data.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries) 
    .Select(item => { 
     int lastSpace = item.LastIndexOf(' '); 
     return new 
     { 
      Name = item.Substring(0, lastSpace).Trim(), 
      Status = item.Substring(lastSpace, item.Length - lastSpace).Trim() 
     }; }).ToList(); 
+0

がスローされました。長さはゼロより小さくなることはできません。 – Jandy

+0

アイテムは空です。@ Gilad Green – Jandy

+0

名前:item special I none.includedステータス。 – Jandy

関連する問題