2013-04-25 3 views
-1

Я пытаюсь прочитать текстовый файл в asp.net, где файл не находится в определенном формате, поэтому я просто хотел прочитать этот файл до специальных символов (*) и пропустите остальные.Как читать текстовый файл до появления специального символа asterisk

Вообще формата

00000 AFCX  TY88YYY 
12366 FTTT  TY88YYY 
** File Description 
// This is so and so Description 
** End of Description 
12345 TYUI  TY88YYY 
45677 RERY  TY88YYY 
+2

Есть несколько способов решения этого. Что вы пробовали? Что вы думаете о попытках? – Tim

+0

Попробуйте адаптировать следующее к вашим потребностям: http://stackoverflow.com/questions/10785960/detecting-newline-when-reading-text-file-one-character-at-a-time – TGH

+0

Я хотел остановиться на first * occarance –

ответ

0
string file = "TextFile1.txt"; 
    List<string> lines = new List<string>(); 

    using (StreamReader r = new StreamReader(f)) 
    { 
     string line; 
     while ((line = r.ReadLine()) != null && !line.StartsWith("*")) 
     { 
      lines.Add(line); 
     } 
    } 
0

Это даст вам список всех строк, кроме тех, начиная с *:

string[] yourFileContents = File.ReadAllLines(filePath); 
List<string> contentsWithoutAsterix = 
    yourFileContents.Where(line => line.First() != '*').ToList(); 

PS (редактировать):

Если вы просто хотите строки до первого совпадения *, не делают это вместо:

List<string> contentsWithoutAsterix = 
     yourFileContents.TakeWhile(line => line.First() != '*').ToList(); 
Смежные вопросы