• Главная
  • Исходники Delphi
  • Справочники Delphi
  • Книги Delphi
  • Основы Delphi
  • библиотека Delphi исходников
  • Форум
  • Блоги

Последние записи

  • Прозрачность тайлсета в TPNGImage
  • Как сделать VBA макрос в excel
  • Поиск по столбцу 1-ого не нулевого значения (формулой в Microsoft Office Excel)
  • Простановка единиц в ячейки под объектами (Microsoft Office Excel)
  • Расчет затраченного времени между определенным рабочим временем (формулой в Microsoft Office Excel)
  • Мигающий экран на Assembler
  • VBA-макрос по копированию 10 строчек в выбранном диапазоне в Microsoft Office Excel
  • Копирование только нужного диапазона в Microsoft Office Excel
  • Перенос диапазона стоки в Microsoft Office Excel на другой лист по условию
  • Мелодия в Pascal.ABC.Net с помощью System.Console.Beep — задержка воспроизведения звука

made in programmersforum 4

programmersforum4

  • .NET
  • ASP.NET
  • assembler
  • Basic
  • c/c++
  • CMS
  • Delphi
  • HTML
  • iPhone
  • Java
  • JavaScript
  • Linux
  • Pascal
  • Perl
  • Photoshop
  • php
  • Python
  • Ruby
  • SEO
  • sql
  • VBA
  • Win Api
  • Windows
  • XML и XSLT
  • Администрирование ОС
  • Апгрейды
  • Архив
  • Безопасность
  • Блоги
  • Веб-аналитика
  • Железо
  • Журнал
  • Заметки
  • Имейдж
  • Интервью
  • Исходники
  • Новости
  • Общалка
  • Операционные системы
  • Пост-обзор
  • Профлитература
  • Рассылка
  • Реклама
  • си шарп
  • Советы
  • Софт
  • Статьи
  • Топик-обзор
  • Файлы








21st
Сен

Разделение текста на слова

Posted by micher under Delphi

Corpuscul

Необходимо разделить строку записанную в Edit или Memo на составные части. Подскажите, пожалуйста, как это сделать?

Sciv


procedure SplitTextIntoWords(const str: string;
output: Tstringlist; minLength: integer=1{минимальная длина слова});
var
positionStart, positionEnd: integer;
wordToAdd: string;
begin
Assert(Assigned(output));
output.Clear;
positionStart := 1;
while positionStart <= Length(str) do
begin
while (positionStart <= Length(str)) and not IsCharAlphaNumeric(str[positionStart]) do
Inc(positionStart);
if positionStart <= Length(str) then
begin
positionEnd := positionStart + 1;
while (positionEnd= minLength) then
begin
// добавление слова в список
output.Add(AnsiLowerCase(wordToAdd));
end;
positionStart := positionEnd + 1;
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var words: TStringList;
begin
words:= TStringList.Create;
SplitTextIntoWords(Memo1.Text,words);
Memo2.Text:=words.Text;
words.Free;
end;

тема на форуме

Случайные статьи

  • Как запретить клик правой кнопкой мыши в Cromium?
  • Оптимальный алгоритм — получить список из N наиболее часто встречающихся элементов
  • Грабить выделенный текст
  • Липкие обьекты
  • Определение координат мыши на форме
  • Работа с мышью
  • Вывод времени в нужном формате
  • Прорисовка WinAPI векторных изображений
  • Итоги третьего этапа конкурса программистов.
  • Рассылка!! №51
Теги: IsCharAlphaNumeric | procedure SplitTextIntoWords | разделение текста на слова | разделить строку | разделить текст на слова








© Copyright "Клуб программистов" – материалы по Delphi и С++. Создание и продвижние сайта - Веб-сателлит.