Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Задача: замена слов в тексте на указанные в словар


Автор: Dende-Soft 16.1.2009, 18:37
Так. Постараюсь обьяснить...

Есть текст (любой компонент). Он из букв  smile 

Есть файл. Его структура примерно такова
Автомобиль|авто|машина|Запорожец

Программа должна:
а) взять значение N и через каждое N слово сверять его со словарем. Если оно совпадает с каким то словом - то нужно заменить его на случайное другое. 

Скажем, было Вася сел в авто - получим "Вася сел в Запорожец"
Но замена происходит только если слово точное. Тоесть автомобильблаблабла не должен быть заменен.

Вот... Честно говоря, даже не знаю, с какой стороны подступиться...

Автор: Newo 19.1.2009, 02:54
Считайте слова из файла с "Автомобиль|авто|машина|Запорожец..." в массив строк.
Читайте исходный файл с текстом по порядку. Появилось новое слово -  значит появится и пробел. Следовательно, за количеством слов можно следить, отслеживая количество пробелов. Просто читаете текст подряд и выводите его в результирующий файл. Когда количество пробелов у Вас равно Эн, тогда обнуляете Эн и сравниваете текущее слово со всеми словами в Вашем массиве-словаре. Если оно найдено, то выписываете произвольное из словаря... И так до конца текста. примерно так.

PS Для ускорения работы можно использовать простенькие хэши. Тогда для каждого слова из словаря будем хранить и его хэш. И когда сравнивать будем, будем сравнивать хэши двух слов.

PPS Колитесь, дорген пишете?  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)