Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2015, 18:18   #1
0льга
 
Регистрация: 14.12.2015
Сообщений: 4
Печаль Удаление повторяющихся слов. Delphi. Lazarus.

Помогите пожалуйста, никак не могу сделать.
Дан файл, содержащий текст на РУССКОМ языке . В предложениях некоторые из слов повторяются. Получить в новом файле отредактированный текст, в котором удалены повторения слов.
Буду очень благодарна!
0льга вне форума Ответить с цитированием
Старый 14.12.2015, 19:07   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

В strutils можно найти как получать слова. А для исключения повторений можно или проверять каждый раз. Или взять хеш. Загнать его в массив и за о(1) отвечать. Или использовать set/map знаю про них ничего в Лазаре
Poma][a вне форума Ответить с цитированием
Старый 14.12.2015, 19:12   #3
0льга
 
Регистрация: 14.12.2015
Сообщений: 4
По умолчанию

Да мне код нужен , я с кодом разобраться не могу.
0льга вне форума Ответить с цитированием
Старый 14.12.2015, 19:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Удалять нужно в рамках предложения или вообще в рамках всего текста?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2015, 19:52   #5
0льга
 
Регистрация: 14.12.2015
Сообщений: 4
По умолчанию

В рамках всего текста.
0льга вне форума Ответить с цитированием
Старый 14.12.2015, 19:58   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Тогда так:
Код:
var s:string;i:integer;
With TStringList.Create do begin
 LoadfromFile('файл');
 DelimitedText:=StringReplace(Text,#13#10,' '+#1+' ',[rfreplaceAll]);
 s:='';
 for i:=0 to Count-1 do
  if Strings[i]=#1 then s:=s+#13#10 else
   if (pos(Strings[i],s)=0) then s:=s+Strings[i];
 Text:=s;
 SaveToFile('Файл2');
 Free;
end;
Это потолочный вариант.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2015, 20:13   #7
0льга
 
Регистрация: 14.12.2015
Сообщений: 4
По умолчанию

Спасибо, большое
0льга вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi (Lazarus). Удаление нечётных элементов в дереве. Ovenvan Помощь студентам 7 16.06.2015 10:57
Удаление повторяющихся слов в vba annyhilator Помощь студентам 0 22.11.2012 12:08
Удаление одинаковых слов из строки (Delphi) ValentinBuruak Помощь студентам 4 16.04.2012 18:25
Поиск повторяющихся слов и их удаление!!!!!!!! в делфи Ejevila Помощь студентам 2 20.12.2010 21:55
Удаление повторяющихся слов C vivo89 Помощь студентам 2 24.12.2009 09:18