| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Задача: замена слов в тексте на указанные в словар |
| Автор: Dende-Soft 16.1.2009, 18:37 |
| Так. Постараюсь обьяснить... Есть текст (любой компонент). Он из букв Есть файл. Его структура примерно такова Автомобиль|авто|машина|Запорожец Программа должна: а) взять значение N и через каждое N слово сверять его со словарем. Если оно совпадает с каким то словом - то нужно заменить его на случайное другое. Скажем, было Вася сел в авто - получим "Вася сел в Запорожец" Но замена происходит только если слово точное. Тоесть автомобильблаблабла не должен быть заменен. Вот... Честно говоря, даже не знаю, с какой стороны подступиться... |
| Автор: Newo 19.1.2009, 02:54 |
| Считайте слова из файла с "Автомобиль|авто|машина|Запорожец..." в массив строк. Читайте исходный файл с текстом по порядку. Появилось новое слово - значит появится и пробел. Следовательно, за количеством слов можно следить, отслеживая количество пробелов. Просто читаете текст подряд и выводите его в результирующий файл. Когда количество пробелов у Вас равно Эн, тогда обнуляете Эн и сравниваете текущее слово со всеми словами в Вашем массиве-словаре. Если оно найдено, то выписываете произвольное из словаря... И так до конца текста. примерно так. PS Для ускорения работы можно использовать простенькие хэши. Тогда для каждого слова из словаря будем хранить и его хэш. И когда сравнивать будем, будем сравнивать хэши двух слов. PPS Колитесь, дорген пишете? |