![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Заполнение списка словами из строки с возможностью указания множества разделителейDelphi , Синтаксис , Текст и Строки
Автор: VID { **** UBPFD *********** by delphibase.endimus.com **** >> Заполнение списка (TargetList) словами из строки (Text), с возможностью укзания множества разделителей Функция заполняет список TargetList, словами (наборами символов) из строки Text. Имеется возможность получения позиции каждого слова в строке (ReturnWordPlaces = True); добавления в TargetList не только слов, но и разделителей (ReturnWordDeviders = True); указания более чем одного разделителя (все в строке WordDeviders). Ограничением является невозможность указания разделителя, длинной более чем 1 символ. Result = TargetList.Count; {количество строк в TargetList} Зависимости: sysutils, classes, system Автор: VID, vidsnap@mail.ru, ICQ: 132234868, Махачкала Copyright: VID Дата: 02 мая 2002 г. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * } function GetWordListFromText(Text, WordDeviders: string; TargetList: TStrings; ReturnWordPlace, ReturnWordDeviders: Boolean): Integer; var X, TextLength, WP: Integer; W: string; begin Result := 0; TextLength := Length(Text); if TextLength = 0 then Exit; if Length(WordDeviders) = 0 then Exit; if TargetList = nil then Exit; TargetList.BeginUpdate(); TargetList.Clear; WordDeviders := AnsiUpperCase(WordDeviders); W := ''; X := 0; WP := 1; repeat X := X + 1; if (POS(AnsiUpperCase(Text[x]), WordDeviders) = 0) and (X <= TextLength) then W := W + Text[x] else begin if W <> '' then begin case ReturnWordPlace of True: TargetList.Add(W + '=' + Inttostr(WP)); False: TargetList.Add(W); end; end; W := ''; WP := X + 1; if ReturnWordDeviders = true then begin case ReturnWordPlace of True: TargetList.Add(Text[x] + '=' + Inttostr(x)); False: TargetList.Add(TEXT[x]); end; end; end; until (X > TextLength); TargetList.EndUpdate; Result := TargetList.Count; end; Привет! Я переведу контент на русский язык. Функция Delphi
Функция проходит по входному тексту, добавляя слова в целевой список, когда она встречает символ, который не является разделителем слов. Если Пример использования этой функции:
В этом примере входной текст - Код хорошо организован и легко понятен, но есть несколько минимальных предложений:
В целом, код выглядит чистым и эффективным, и он должен работать хорошо для большинства случаев использования. Функция GetWordListFromText позволяет разделить строку текста на слова с возможностью указания множества разделителей и добавления в список позиций каждого слова. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |