Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Бросить исключение, если в консоли вводятся отрицательные числа https://www.cyberforum.ru/ csharp-beginners/ thread1257524.html
С консоли вводится определенное число и нужно его перехватить с помощью регулярных выражений, и если оно отрицательное, то кинуть exception. Какое можно составить регулярное выражение для этого?
Определить количество элементов массива, значение которых превышает заданное C#
Определить количество элементов массива, значение которых превышает заданное. Составить новый массив из этих элементов. Массив можно свой.
C# Как вставить перенос строки при записи в файл
Есть кнопка. Она добавляет данные в текстовый файл. После того как она добавила эти данные нужно чтобы переносилась строка. Т.е. чтоб при новом добавлении данных всё было с новой строчки. В интернете...
C# Программа для обновление файлов с сервера Помогите написать программу которая по нажатию кнопки проверяла наличия файла и последней ли он версии (как я предполагаю такая штука просто сравнивает вес файла на сервер и на локалке), если он не... https://www.cyberforum.ru/ csharp-beginners/ thread1257487.html
C# Найти корни функции методом Ньютона https://www.cyberforum.ru/ csharp-beginners/ thread1257486.html
Мне нужна написать програму... Найти корени функции методом нютона... Помогите плиз, не успеваю...(((
C# Как сделать к коду ввод индекса пользователем
В общем есть код. Я не понимаю как сделать к этому коду ввод индекса пользователем. Подскажите подалуйста. using System; using System.Collections.Generic; using System.Linq; using System.Text;...
C# Скачивание музыки с music.Yandex
Здравствуйте! Появился вопрос по поводу взаимодействия C# с веб сайтами. Скажите пожалуйста, каким образом можно скачать музыку с сервиса Yandex музыка? Предполагается, что пользователь заходит на...
C# Написать проверку на правильность введенной формулы Задача: написать проверку на правильность введенной формулы (только цифры, круглые скобки и знаки +|-|*) Я написал проверку на равенство скобок и на простую формулу пример: (5+2) выводит что это... https://www.cyberforum.ru/ csharp-beginners/ thread1257460.html
C# Реализовать Handle в своем классе https://www.cyberforum.ru/ csharp-beginners/ thread1257428.html
Во общем есть у меня listBox с объектами типа Myclass. И их там может быть очень много, и мне бы хорошо реализовать что б каждый объект в этом listBox'е имел свой уникальный Handle. Каким образом...
C# Открытие аудио-файла, используя программу-плеер, при щелчке правой кнопки мыши Здравствуйте! У меня есть программа "музыкальный плеер". он может проигрывать музыку,создавать плейлисты и тд. Есть программа установки данного плеера на рабочий компьютер пользователя. Появляется... https://www.cyberforum.ru/ csharp-beginners/ thread1257395.html
Администратор
Эксперт .NET
9014 / 4289 / 744
Регистрация: 17.04.2012
Сообщений: 9,094
Записей в блоге: 14
17.09.2014, 10:02 0

Распарсить текстовый файл

17.09.2014, 10:02. Просмотров 926. Ответов 3
Метки (Все метки)

Ответ


Вот как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.IO;
 
namespace ConsoleApplication
{
    class Program
    {
        public static double GetKoeff(int temperature, int pressure) {
            string[] fileLines = File.ReadAllLines(@"C:\Development\data.txt");
            string[] strTemps = fileLines[0].Split(' ', '\t');
            // здесь будет список температур
            List<int> temperatures = new List<int>();
            foreach (string temp in strTemps) {
                temperatures.Add(Int32.Parse(temp.Split('=')[1]));
            }
            // список давлений
            List<int> pressures = new List<int>();
            // значения в таблице
            double[,] koeff = new double[fileLines.Length - 1, temperatures.Count];
            for (int i = 1; i < fileLines.Length; i++) {
                // получаем давление
                // первый элемент - давление, второй - все коэффициенты
                string[] parsedLine = fileLines[i].Split(new char[] { ' ', '\t' }, 2);
                pressures.Add(Int32.Parse(parsedLine[0]));
                // разделение между элементами - таб-запятая-таб - это жуть
                // если вы можете контролировать структуру файла, поменяйте на пробел
                string[] strKoeffs = parsedLine[1].Split(new string[] { "\t,\t" },
                    StringSplitOptions.RemoveEmptyEntries);
                // элементы -> в таблицу
                for (int n = 0; n < strKoeffs.Length; n++)
                    koeff[i - 1, n] = Double.Parse(strKoeffs[n]);
            }
            // определяем индекс в таблице по значению параметра
            int tempIndex = temperatures.FindIndex(t => t == temperature);
            int pressIndex = pressures.FindIndex(p => p == pressure);
 
            if (tempIndex == -1 || pressIndex == -1)
                throw new ArgumentOutOfRangeException("Значение параметра вне диапазона.");
            return koeff[pressIndex, tempIndex];
        }
 
        static void Main(string[] args) {
            Console.WriteLine(GetKoeff(-50, 10));  // 0.9901
        }
    }
}
Если вам этот код подойдёт, то нужно кое-что изменить - весь анализ файла нужно вынести в отдельный метод, вызываем только один раз (в статический конструктор, например), чтобы на каждый вызов не парсить файл снова.

Вернуться к обсуждению:
Распарсить текстовый файл
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2014, 10:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Распарсить текстовый файл
Добрый вечер. Нужно распарсить текстовый файл, пример, текста: Вид деятельности: футболист ...

Распарсить текстовый файл с помощью Split
К примеру у меня есть ID, имена, номера которые я уже открыл в программе, и мне нужно при...

Распарсить текстовый файл и записать все числа в массив
Вообщем, есть txt файл, например, типа: бла бла бла бла 1333.78 бла бла (1 строка) бла бла бла...

Задача с использованием структуры «текстовый файл» (в файле хранится текст) 1) Переписать в другой текстовый файл самую
Задача с использованием структуры «текстовый файл» (в файле хранится текст) 1) Переписать в другой...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.