
Последние записи
- Прозрачность тайлсета в 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 — задержка воспроизведения звука

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;