2013-04-19 2 views
0

У меня есть текстовый файл, и в нем, как это выглядит:(C#) Чтение части строки

xxxx:value 

Все, что я хочу, чтобы прочитать это значение, я пытался манипулировать:

using System; 
using System.IO; 

class Test 
{ 
    public static void Main() 
    { 
     try 
     { 
      using (StreamReader sr = new StreamReader("TestFile.txt")) 
      { 
       String line = sr.ReadToEnd(); 
       Console.WriteLine(line); 
      } 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine("The file could not be read:"); 
      Console.WriteLine(e.Message); 
     } 
    } 
} 

Но у меня не было большой удачи в этом, любая помощь была бы блестящей.

+0

В чем проблема, с которой вы сталкиваетесь? Не похоже, что вы пытались реализовать эту логику вообще. –

+0

У меня нет моих тестов, но это была моя отправная точка. –

+0

'ReadToEnd' делает то, что предлагает его название: прочитайте все от текущей позиции до конца. Неудивительно, что так не получается. – pescolino

ответ

2

Вам нужно Переберите каждую строку и разделить каждую строку ... Вероятно, следует проверить, что каждая строка не является нулевой, и что он содержит двоеточие ... но это может быть ненужным в зависимости от ваших данных ...

using System; 
using System.IO; 

class Test 
{ 
    public static void Main() 
    { 
      try 
      { 
       using (StreamReader sr = new StreamReader("TestFile.txt")) 
       { 
        while (!sr.EndOfStream) 
        { 
         String line = sr.ReadLine(); 
         if (line != null && line.Contains(":")) 
          Console.WriteLine(line.Split(':')[1]); 
        } 
       } 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine("The file could not be read:"); 
       Console.WriteLine(e.Message); 
      } 
    } 
} 
0
using System; 
    using System.IO; 

    class Test 
    { 
     public static void Main() 
     { 
      try 
      { 
       using (StreamReader sr = new StreamReader("TestFile.txt")) 
       { 
        String line = sr.ReadToEnd(); 
        string[] array = line.Split(':');      
        Console.WriteLine(array[1]); 
       } 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine("The file could not be read:"); 
       Console.WriteLine(e.Message); 
      } 
     } 
    } 
0

Попробуйте использовать string.Split():

Console.WriteLine(line.Split(':')[1]); 
Смежные вопросы