Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
4 / 4 / 2
Регистрация: 10.08.2015
Сообщений: 59

Прочитать текст с файла и взаимодействовать с ним

22.02.2016, 16:45. Показов 1363. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
У меня есть файл в котором текст, скажем:

Это тестовая строка
Это тестовая строка
Строка один 10, 20, 30
Строка два 40, 50, 60
Строка три 70, 80, 90
Это тестовая строка

1) Нужно что бы вывело только строки с числами.
2) Что бы 10 была отображена как - X;
20 - Y;
30 - Z.
3) В последствии с ними можно будет взаимодействовать(что-то прибавлять или менять, например 10 + 5 = 15, не меняя сам текстовый файл) или они останутся только string строкой? - Мне кажется что будет отображатся только в качестве текста.

-Находил разные варианты как считать полностью текст с файла, но как отфильтровать что нужно не знаю. Возможно вы подскажете

Спасибо за ответы.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2016, 16:45
Ответы с готовыми решениями:

Прочитать текст из файла
private void button1_Click(object sender, EventArgs e) { StreamWriter sw = new...

Как прочитать текст из файла?
Создал элементарную программу. При нажатии на button d textBox1 должен появиться текст из прочитанного файла. В результате при нажатии на...

Как прочитать текст из файла Word
В Интернете разузнал, что можно получить доступ к формату ворда через п.и. Microsoft. Office. Interop. Word. Пишу след. код: ...

4
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
22.02.2016, 17:23
Лучший ответ Сообщение было отмечено Dipe как решение

Решение

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
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Text.RegularExpressions;
 
internal sealed class Program {
  static void Main() {
    String[] arr = File.ReadAllLines(@"E:\sandbox\test.txt", Encoding.Default)
                           .Where(s => new Regex(@"\d+").IsMatch(s)).ToArray();
    //строки с цифрами
    arr.ToList().ForEach(s => Console.WriteLine(s));
    //цифрм заменяются значениями
    Console.WriteLine(arr[0].Replace("10, 20, 30", "X, Y, Z"));
    //цифры выводятся в список (для последующих операций)
    List<Int32> lst = new List<Int32>();
    new Regex(@"\d+").Matches(arr[0]).Cast<Match>()
    .Select(s => s.Value).ToList().ForEach(s => {
      Int32 i;
      if (Int32.TryParse(s, out i)) lst.Add(i);
    });
    Console.WriteLine("{0}", lst[0] + 5);
  }
}
1
4 / 4 / 2
Регистрация: 10.08.2015
Сообщений: 59
22.02.2016, 18:13  [ТС]
Спасибо!!!

На сколько я понял текст делиться на массив строк и потом считываются только те строки которые содержат цифры.
Во только разобратся сам не могу что тут написано
C#
1
2
String[] arr = File.ReadAllLines(@"E:\sandbox\test.txt", Encoding.Default)
                           .Where(s => new Regex(@"\d+").IsMatch(s)).ToArray();
2) я имел ввиду немного другое...
что бы выводилась строка X = 10, Y = 20, Z = 30;
Возможно это можно сделать через Insert, но не уверен или правильно так...
0
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
22.02.2016, 18:29
1) ReadAllLines - открывает текстовый файл, считывает все строки файла в массив строк и затем закрывает файл; из этого массива выбираются строки, в которых встречаются цифры (.Where(s => new Regex(@"\d+").IsMatch(s))...)
2) Можно и инсертом, можно и так:
C#
1
Console.WriteLine(arr[0].Replace("10, 20, 30", "X = 10, Y = 20, Z = 30"));
1
4 / 4 / 2
Регистрация: 10.08.2015
Сообщений: 59
27.02.2016, 12:32  [ТС]
Цитата Сообщение от greg zakharov Посмотреть сообщение
String[] arr = File.ReadAllLines(@"E:\sandbox\test.txt" , Encoding.Default) .Where(s => new Regex(@"\d+").IsMatch(s)).ToArray(); //строки с цифрами arr.ToList().ForEach(s => Console.WriteLine(s));
Как вариант думаю может подойти и
C#
1
2
3
4
5
6
7
8
string[] text = File.ReadAllLines(@"D:\test.txt", Encoding.Default);
            foreach (var sometext in text)
            {
                if (sometext.Contains("Строка"))
                {
                    Console.WriteLine(sometext);
                }
            }
Тоже будет только строки с цифрами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2016, 12:32
Помогаю со студенческими работами здесь

Прочитать английский текст из файла и вывести на экран слова текста
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные...

Прочитать текст из файла, зашифровать по алгоритму RSA и вывести результат в RichTextBox
Здравствуйте уважаемые форумчане программирую на шарпе сравнительно не долго - столкнулся с проблемой есть код который выводит в...

Прочитать текст из файла и вывести на экран все его предложения в обратном порядке (С++ -> С#)
Помогите пожалуйста переписать этот код на С# #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;stack&gt; #include...

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

Прочитать текст из файла и подсчитать сколько в нем слов, состоящих из не менее чем семи букв
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не менее чем семи букв.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru