Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
03.07.2009, 18:44 | #1 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Обработка текстовых файлов
Подскажыте, как реализовать программу, которая будет вырезать из текстового файла кусок, начинающийся и заканчивающийся определенным текстом
|
Реклама: | Рекомендуем супермаркет KNS - 27mp400b - билеты на футбол в подарок каждому покупателю | руки вверх 2024 концерты афиша | Кондиционер SYSPLIT WALL SMART 36 V3 HP Q | керамогранит slim | Рекомендуем гипермаркет КНС - телевизор Philips 43PUS8108-60 - более 50-ти тысяч наименований товаров со склада в Москве |
03.07.2009, 19:32 | #2 |
Пользователь
Пол: Регистрация: 11.03.2008
Сообщений: 158
Репутация: 33
|
Re: Обработка текстовых файлов
ищи текст с начала файла - запоминай позицию 1, потом такой же текст с конца файла - запоминай позицию 2. Затем копируй все подряд с позиции 1 до позиции 2 (если позиция 2 существует)
Посмотри модуль StrUtils |
03.07.2009, 22:19 | #3 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Re: Обработка текстовых файлов
Ну, во первых, нужно как раз вырезать из файла кусок, во вторых, не совсем то я и знаком с делфи, по этому подскажыте, как лучше открыть текстовый файл, для того, чтобы с ним потом удобно было работать таким образом. Скажем, еще такая проблема, что тот кусок, который нужно вырезать, нужно опознать не по одному слову, а по нескольким строкам, по этому не знаю, как все это толково организировать
|
04.07.2009, 12:32 | #4 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Re: Обработка текстовых файлов
Вобщем вопрос вот в чем: как сравнить строки я знаю, то если их несколько? Наведу конкретный пример. Из файла с таким содержымым:
Это файл, в котором содержаться ненужные строки и их нужно вырезать и сохранить файл нужно допустим вирезать следующий текст: ненужные строки и их нужно вырезать |
04.07.2009, 15:04 | #5 |
Re: Обработка текстовых файлов
как вариант помещаем на форму следуйщие компоненты: Tmemo, OpenDialog, FindDialog.
далее делаем следуйщее згружаем текст в memo и начинаем искать нужный нам текст с помощью FindDialog далее как только нашли нужный текст делаем для него memo.CopyToClipboard и удаляем найденый текст. |
|
04.07.2009, 16:35 | #6 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Re: Обработка текстовых файлов
ultimate, прога должна работать с командной строки
|
04.07.2009, 18:52 | #7 |
Re: Обработка текстовых файлов
ээ.. вам бы это надо было написать сразу, ладно короче говоря вам нужен не делфи как таковой, а паскаль так как именно его синтаксис используется для написания консольных приложений в делфи (ну почти его занекоторым ислючением). Ну а по паскалю всяких мануалов в интернете не меренно.
|
|
04.07.2009, 19:39 | #8 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Re: Обработка текстовых файлов
ultimate, да не в этом проблема, можна и на Делфи писать. То, что в нете полно всяких мануалов я и сам знаю, но тут прошу помощи у людей, которые уже не раз наверное перечитывали все эти мануалы и знают что к чему
|
06.07.2009, 09:46 | #9 |
Постоялец
Пол: Регистрация: 13.03.2008
Адрес: Минск
Сообщений: 257
Репутация: 231
|
Re: Обработка текстовых файлов
Что-то вроде этого, пойдет?
Код:
var sl:TStringList; i:integer; begin sl:=TStringList.Create; try sl.LoadFromFile('C:\1.txt'); sl.Text:=StringReplace(sl.Text,'Искомая строка','',[rfReplaceAll,rfIgnoreCase]); sl.SaveToFile('C:\1.txt'); finally sl.Free; end;
__________________
|
Сказали спасибо: |
06.07.2009, 13:03 | #10 |
Re: Обработка текстовых файлов
в общем вот алгоритм поиска слова, фразы.
Код:
uses crt; var f:text; str:string; s:string; begin clrscr; assign(f,'c:\1.txt'); reset(f); write('Vvedite slovo dlja poiska:'); readln(s); while not eof(f) do begin readln(f,str); if pos(S,str)>0 then writeln(str); end; close(f); readln; end. |
|
06.07.2009, 13:28 | #11 | |||||||||||||||||||||||
Постоялец
Пол: Регистрация: 13.03.2008
Адрес: Минск
Сообщений: 257
Репутация: 231
|
Re: Обработка текстовых файлов
Сначала тож подумал про такое, но если в конце первой строки написано "....Иванов", а в начале второй написано "Иван...." а пытаются найти: "Иванов Иван"?
__________________
|
|||||||||||||||||||||||
06.07.2009, 18:10 | #12 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Re: Обработка текстовых файлов
Vasuha, это уже хоть что-то, но пытался обьяснить, что нужно искать и заменять не строку, а несколько строк, которые как бы служат частью одного и того же текста. Есть кусок текста, который начинается несколькими определенными строками, между ним находятся еще какие то неопределенныме строки, и опьять же заканчивается несколькими (или одной) определенными строками, вот его нужно вырезать.
Другими словами, как определить вхождение в текст не одной строки (как это делается функцией pos) а нескольких строк? Последний раз редактировалось bssergy; 06.07.2009 в 18:43.. |
06.07.2009, 19:36 | #13 |
Re: Обработка текстовых файлов
а если создать строковый массив его заполнить нужными нам фразами и прогонять текст начиная с первого элемента массива и как только встречаем конец файла начинаем сканировать текст используя следующий элемент массива при этом в процессе сканирования найденные слова копируем во временный файл чтоб потом из него вырезать полностью найденную фразу ну а в основном файле удаляем найденные слова?
P.S. Сразу говорю я с паскалем дружу плохо по этому реализовывать данный алгоритм не возьмусь. |
|
06.07.2009, 21:52 | #14 |
Постоялец
Пол: Регистрация: 13.03.2008
Адрес: Минск
Сообщений: 257
Репутация: 231
|
Re: Обработка текстовых файлов
Тогда возникают встречные вопросы. Получается есть два вида спец строки типа одна открывающая другая закрывающая между ними текст уничтожить(вместе с спецстроками). А если найден спецтекст без пары? А если они рядом а текста нет, может проще выложить суть задачи?
__________________
|
07.07.2009, 00:30 | #15 |
Постоялец
Пол: Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
|
Re: Обработка текстовых файлов
Vasuha, это уже излишества, с которыми разберусь и сам. StringReplace мне понравилась, но как быть если между известным текстом, который нужно заменить может быть и неизвестный (но может и не быть, это я думаю несущественно и с этой ситуацией справлюсь сам), ну а если спецтекст без пары, так запрограммировать чтобы он не удалялся тоже проблеммы мне не составит. Прошу только помощи по моему основному вопросу, который хотелось бы сделать правильно и грамотно, только вот знаний пока не хватает
Последний раз редактировалось bssergy; 07.07.2009 в 00:32.. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Notepad++ - редактор текстовых файлов | ilia | Офис | 149 | 25.12.2022 09:08 |
Балаболка / Balabolka — программа для чтения вслух текстовых файлов | gtr | Freeware софт | 71 | 29.11.2015 14:11 |
Нахождение разницы текстовых файлов | Ghost2007 | МOffice, Переводчики (словари), Органайзеры, Текстовые редакторы | 4 | 13.12.2007 12:20 |
Как собрать несколько текстовых файлов в один? | DearMe | МOffice, Переводчики (словари), Органайзеры, Текстовые редакторы | 3 | 24.12.2005 19:26 |
|
|