Подписаться на RSS рассылку
Главная » Статьи по Delphi » Текст и строки » Найти все слова в строке

Найти все слова в строке

Автор:

Tweet
function FindWordInString(S:string): TStringList;
var i:integer;
    S2:string;
begin
  Result := TStringList.Create;
  For i:=1 to Length(S) do
  begin
    if s[i]<>' ' then
      S2:=s2+s[i]
    else
      if s2<>'' then
      begin
        Result.Add(S2);
        S2:='';
      end;
  end;
  if s2<>'' then Result.Add(S2);
end;

Теперь о том, как все это работает. Мы перебегаем посимвольно всю строку S в цикле и если проверяемый символ не пробел, то мы его добавляем к строке S2, иначе (если пробел) если в S2 уже что-то накопилось (есть какоето слово), то добавляем в StringList. На случай если пользователь введет строку со словами разделенными не одним пробелом, то без условия if s2<>'' then программа добавит помимо слов еще и много пробелов.

Ну и после выхода из цикла в переменной S2 может храниться еще одно слово. Мы его и добавляем.

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items := FindWordInString(Edit1.Text);
end;

Просмотров: 7857

Обсудить на форуме


Имя *:
Email:


Код *:

Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.