2013-11-21 51 views
-2

我有一個文本文件,內容爲:LINQ到閱讀的文本文件

... 
*.. 
*.. 
... 
The vehicle used are: 
*Car(Marathi, Nissan, Toyota).. 
*Bikes(Yamaha, Hero Honda) 
*... 
*... 
*...so on.. 

The items used are... 
*.. 
*.. 

現在我需要搜索的關鍵詞「汽車」,並把該選項汽車(馬拉地語,日產,豐田).. ),自行車(雅馬哈,英雄本田)等列入清單。

即一行中「*」之後的所有內容必須是該列表中的項目。

Linq必須使用或任何其他手段不允許循環。

+4

因此,你還沒有嘗試過自己來完成這個任務,我們能爲你做的只有50 $(你應該把這筆錢捐給維基百科) –

回答

2

理想的結果並不十分清楚。

如果你需要一個List<string>,含

"Car(Marathi, Nissan, Toyota).." 
"Bikes(Yamaha, Hero Honda)" 
"..." 
"..." 
"...so on.. 

你可以做

var result = File.ReadAllLines(@"<pathToYourFile>") 
       //skip lines without "vehicle" 
       .SkipWhile(m => !m.Contains("vehicle")) 
       //skip the line with "vehicle" 
       .Skip(1) 
       //take the following lines starting with an "*" 
       .TakeWhile(m => m.StartsWith("*")) 
       //remove the "*" 
       .Select(m => m.Replace("*", string.Empty)) 
       //enumerate to get a List<string> 
       .ToList(); 
+1

解決方案是正確的,但你確定OP捐贈了錢嗎? :) –

+1

@lazyberezovsky仍在檢查我的銀行賬戶......這些避稅港太慢了! –