2012-08-26 139 views
-2

我有一個包含文本行的文本文件,我想一定行添加到一個列表框,如果下一行滿足例如條件C#添加從文本文件行到一個列表框

如果行以#開頭,則添加該行如果下一行與@開始後,所有的行與@

#add this line 
@add this line 
@add this line 
@add this line 
#dont add because the next line is not a @ 
#dont add because the next line is not a @ 
#dont add because the next line is not a @ 
#dont add because the next line is not a @ 
#add this line 
@add this line 
@add this line 
#dont add because the next line is not a @ 
#add this line 
@add this line 
#add this line 
@add this line 

希望啓動,這使得現場的任何幫助將是巨大

+2

[什麼都嘗試過你?](http://whathaveyoutried.com) – GameScripting

+0

你爲什麼需要這樣一個瘋狂的濾波方案?!? –

回答

3

使用字符串的StartsWith方法http://msdn.microsoft.com/en-us/library/system.string.startswith.aspx

整個的功能就會像

var lines = File.ReadAllLines(yourpath); 
var resultLines = new List<string>(); 
bool adding = false; 
for(int i=0;i<lines.Length;i++) 
{ 
    var line = lines[i]; 
    if((line.StartsWith("#") && i < lines.Length-1 && lines[i+1].StartsWith("@")) 
     || adding && line.StartsWith("@")) 
     adding = true; 
    else if(i < lines.Length-1 && !lines[i+1].StartsWith("@")) 
     adding = false; 
    if(adding) 
     resultLines.Add(line); 
} 
+0

哇,這是醜陋的代碼,但它的工作原來的問題是真正的醜陋。可能一些額外的,有名的變量可以減少一些混亂。 +1「,因爲它完美地工作。 –

+0

謝謝你會試試看 –

相關問題