Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2017, 18:25   #1
daiciy
Новичок
Джуниор
 
Регистрация: 08.07.2017
Сообщений: 1
По умолчанию Считывание информации из файла тхт.

Мне необходимо считать не строку, а определенное значение. Пишу так:

string[] lines = File.ReadAllLines(@"C:\temp\1.txt") ;
//вывод нужных строк

var i = lines[20];
Console.WriteLine(i);
Console.WriteLine(lines[21]);
Console.WriteLine(lines[40]);
Console.WriteLine(lines[41]);


Console.ReadLine();

Подскажите, как правильно?
Изображения
Тип файла: png Снимок.PNG (5.0 Кб, 88 просмотров)
daiciy вне форума Ответить с цитированием
Старый 10.07.2017, 12:51   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
            string pattern = @"^\[\s*(\d+)\]\s*(\d{1,2}.\d{2})-(\d{1,2}.\d{2})\s*sec\s*(\d+.\d{2})\s*.*\s*(\d+.\d{2})\s*.*$";

            var regex = new Regex(pattern);

            var result =
                from l in lines
                let match = regex.Match(l)
                let item = new
                {
                    Number = int.Parse(match.Groups[1].Value),
                    From = double.Parse(match.Groups[2].Value, System.Globalization.CultureInfo.InvariantCulture),
                    To = double.Parse(match.Groups[3].Value, System.Globalization.CultureInfo.InvariantCulture),
                    Gbyted = double.Parse(match.Groups[4].Value, System.Globalization.CultureInfo.InvariantCulture),
                    GBytesBySec = double.Parse(match.Groups[5].Value, System.Globalization.CultureInfo.InvariantCulture)
                }
                where item.From >= 1 // отбираем только строки, у которых во втором столбце значение больше 1
                select l;
в итоге в result будут только нужные строки, которые соответствуют блоку where.
само деление строки на куски идёт с помощью регулярного выражения, можно посмотреть в let item = new ...
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание информации guroDragon Паскаль, Turbo Pascal, PascalABC.NET 5 16.12.2013 19:54
Считывание информации из изображения по каждом пикселу stragedog Общие вопросы Delphi 3 11.04.2012 19:54
Построчное считывание информации memo xpams Компоненты Delphi 2 16.09.2011 19:36
Stringgrid считывание информации из ячейки KSUwa Помощь студентам 2 12.11.2010 09:12
считывание информации Артэс Общие вопросы C/C++ 18 14.02.2008 12:46