Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11

Замена текста в файле

21.02.2015, 14:12. Показов 3689. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.

Есть файл "mytext.txt" с таким содержанием:
HTML5
1
2
3
4
<div class="one">текст</div>
<div class="two">текст</div>
<div class="three">текст</div>
<div class="four">текст</div>
Нужно изменить, например:
<div class="three">текст</div>
на
<h1>текст</h1>
что бы получилось вот так:
HTML5
1
2
3
4
<div class="one">текст</div>
<div class="two">текст</div>
<h1>текст</h1>
<div class="four">текст</div>
По возможности напишите пример полным кодом
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.02.2015, 14:12
Ответы с готовыми решениями:

Замена текста в файле
Всем привет! На этот раз вопрос касающейся Работы с Файлами! Вот задание! 2. Создать программу для поиска указанного текста в файлах,...

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

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

23
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 17:16
Цитата Сообщение от alex_mgn Посмотреть сообщение
Нужно изменить, например:
<div class="three">текст</div>
Используй Replace
C#
1
     a.Replace("что менять", "на что менять");
а - переменная с содержанием файла

Добавлено через 1 час 50 минут
Цитата Сообщение от alex_mgn Посмотреть сообщение
пример полным кодом
получилось?
1
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 17:54  [ТС]
Цитата Сообщение от egorncpk Посмотреть сообщение
получилось?
К сожалению не получается.
0
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 17:55
Цитата Сообщение от alex_mgn Посмотреть сообщение
не получается
кинь кусок кода
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 18:13  [ТС]
Цитата Сообщение от egorncpk Посмотреть сообщение
кинь кусок кода
Пока могу только прочесть этим:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
 
class Test
{
    public static void Main()
    {
        StreamReader sr = File.OpenText("mytext.txt");
        while (true)
        {
            string st = sr.ReadLine();
            if (st == null)
                break;
            System.Console.WriteLine(st);
        }
            System.Console.ReadLine();
            sr.Close();
    }
}
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.02.2015, 18:34
alex_mgn, может так пойдет?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Diagnostics;
using System.Windows.Forms;
 
using System.IO;
using System.Text;
using System.Linq;
 
class Script
{
    [STAThread]
    static public void Main(string[] args)
    {
        string oldStr = "three";
        string newStr = "new string";
        string[] dataFromFile = File.ReadAllLines(@"C:\Test.txt", Encoding.Default);
        string[] dataToFile = dataFromFile
        .Select(s => s.Contains(oldStr) ? newStr :s)
        .ToArray();
        File.WriteAllLines(@"C:\Test_New.txt", dataToFile, Encoding.Default);
        Console.ReadLine();
    }
}
1
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 18:40
Цитата Сообщение от alex_mgn Посмотреть сообщение
прочесть этим
Цитата Сообщение от alex_mgn Посмотреть сообщение
StreamReader sr = File.OpenText("mytext.txt");
он у тебя хоть файл читает?
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 18:44  [ТС]
Цитата Сообщение от egorncpk Посмотреть сообщение
он у тебя хоть файл читает?
Да читает.
С этим все строки читает:
C#
1
2
3
4
5
6
while (true){
string st = sr.ReadLine();
if (st==null)
break;
System.Console.WriteLine(st);
}
0
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 18:58
Цитата Сообщение от alex_mgn Посмотреть сообщение
Да читает
попробуй этот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            string line = "<div class=\"three\">текст</div>"; // что менять
            string line2 = "<h1>текст</h1>"; //на что менять
            StreamReader sr = File.OpenText("mytext.txt");
            while (true)
            {
                string st = sr.ReadLine();
                if (st == line)
                    st = line2;
                if (st == null)
                    break;
                System.Console.WriteLine(st);
            }
            System.Console.ReadLine();
            sr.Close();
1
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 19:14  [ТС]
Цитата Сообщение от egorncpk Посмотреть сообщение
попробуй этот код
Этот вариант работает отлично, спасибо!
Но текст между тегами <div class="three">.*?</div> будет любой.
Как это реализовать Regex заменой?
0
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 19:17
Цитата Сообщение от alex_mgn Посмотреть сообщение
Но текст между тегами <div class="three">.*?</div> будет любой.
а откуда будешь текст брать?
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 19:21  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
alex_mgn, может так пойдет?
Это вариант тоже работает, но не так как нужно, спасибо!

Добавлено через 2 минуты
Цитата Сообщение от egorncpk Посмотреть сообщение
а откуда будешь текст брать?
Текст будет парситься
0
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 19:22
Цитата Сообщение от alex_mgn Посмотреть сообщение
Текст будет парситься
ну как найдёшь нужный, присвой его переменной line2
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.02.2015, 19:24
Цитата Сообщение от alex_mgn Посмотреть сообщение
но не так как нужно
Цитата Сообщение от alex_mgn Посмотреть сообщение
Нужно изменить
Цитата Сообщение от alex_mgn Посмотреть сообщение
По возможности напишите пример полным кодом
Что-то я нигде не нашел ни слова о том, "как надо" чтобы работало... Вы сказали что надо чтобы менял - оно меняет.
А вам, оказывается, еще и как-то по извращенному надо сделать...
0
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 19:26
Цитата Сообщение от insite2012 Посмотреть сообщение
Что-то я нигде не нашел ни слова о том, "как надо" чтобы работало... Вы сказали что надо чтобы менял - оно меняет.
А вам, оказывается, еще и как-то по извращенному надо сделать...
Не горячись, просто ему не особо понятен твой код... он новичок
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 19:30  [ТС]
Цитата Сообщение от egorncpk Посмотреть сообщение
ну как найдёшь нужный, присвой его переменной line2
Спасибо. Но парситься все будет на автомате и текст будет браться из поля ["value"].
Поэтому я хочу для простого примера, собрать код замены из простого текстового файла "mytext.txt".
Потом я прикручу его уже в проект .dll
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.02.2015, 19:30
Цитата Сообщение от egorncpk Посмотреть сообщение
Не горячись
да я и не горячусь, надо проще - так сказал бы, я бы ему через цикл написал) Понятно, что тут LINQ, но оно так быстрее и кода меньше))
0
 Аватар для egorncpk
9 / 9 / 2
Регистрация: 04.12.2014
Сообщений: 83
21.02.2015, 19:34
Цитата Сообщение от insite2012 Посмотреть сообщение
оно так быстрее и кода меньше))
Согласен))
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 11
21.02.2015, 20:05  [ТС]
insite2012,

Прошу прощения за изначально не полно поставленный вопрос.

Давайте попробую изложить подробнее:

Будет много страниц с HTML кодом. Одну из них, для простоты и для примера работы кода C#, я записал как "mytext.txt". В которой нужно произвести замену.

В моем случае это например:

HTML5
1
2
3
4
<div class="one">Будет разный текст</div>
<div class="two">Будет разный текст</div>
<div class="three">Будет разный текст</div>
<div class="four">Будет разный текст</div>
Нужно изменить, например:
<div class="three">Будет разный текст</div>
на
<h1>Здесь должен остаться тот текст, который был в div - блоке</h1>

что бы получилось вот так:

HTML5
1
2
3
4
<div class="one">Будет разный текст</div>
<div class="two">Будет разный текст</div>
<h1>текст из div class="three"</h1>
<div class="four">Будет разный текст</div>
Т.е. <div class="three"> заменить на <h1>, а </div> заменить на </h1>

Ваш предыдущий пример, мне тоже очень понравился. И он мне пригодится.

Вы можете написать код, так же подробно, как и предыдущий? Если конечно же я сам в свою очередь изложил проблему понятно.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.02.2015, 21:03
Цитата Сообщение от alex_mgn Посмотреть сообщение
Вы можете написать код, так же подробно, как и предыдущий?
Могу)))
Но на будущее, излагайте вопрос более точно. Чем точнее вопрос, тем быстрее и более полный будет ответ.

Добавлено через 28 минут
alex_mgn, так пойдет? То же самое, с небольшими изменениями)))
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.IO;
 
namespace ConsoleApplication9 {
    class Program {
        static void Main(string[] args) {
            string[] dataFromFile = File.ReadAllLines(@"C:\Test.txt", Encoding.Default);
            string[] dataToFile = dataFromFile.Select(s => {
                return s.Contains("three") ? GetChangedString(s) : s;
            }).ToArray();
            File.WriteAllLines(@"C:\Test_New.txt", dataToFile, Encoding.Default);
            Console.ReadLine();
        }
        static string GetChangedString(string arg) {
            string s = arg.Replace(@"<div class=""three"">", "").Replace("</div>", "");
            return string.Format("<h1>{0}</h1>", s);
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2015, 21:03
Помогаю со студенческими работами здесь

Поиск текста в файле и замена его на новый
1. Есть файл, в нем описаны замены аа -&gt; bb ссс -&gt; jjj мама -&gt; дядя 2. Есть исходный файл, в котором нужно осуществить замену 3....

Замена текста в PDF-файле
Как заменить текст в PDF файле? например в pdf есть слово &quot;пес&quot; хочу заменить его на &quot;кот&quot;. Только пожалуйста не отправляйте...

Замена текста в файле
Народ, помогите с батником. Начал учиться писать .bat для себя. В итоге столкнулся с необходимостью bat на работе... Ну вот как написать...

Замена текста в файле
Дан файл: нужно вытащить значения lat, lon, time, ele и записать в другой файл, либо как-то убрать лишнее в исходном файле, оставив...

Замена текста в файле
Есть файл с кодом, нужно после определенных строчек удалить\добавить другие строчки Пример: .line 677 .local v10,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru