Разбиваем строку на слова. Часть 1

2 минуты на чтение

В этой теме хотел бы рассказать как можно разбить строку, состоящую например из слов, чисел разбить отдельно, например положить их в массив. Тут все очень просто, тот же самый парсинг данных, только в более упрощенной форме, да и то как такового парсинга нету, просто обычное копирование подстрок в новую переменную, а затем записывайте ее куда хотите, в массив, в список и так далее. На форме у меня следующие компоненты

  • TButton
  • TEdit
  • TListBox

В TListBox я добавляю наши слова, числа, что попадется. То есть что между пробелами.

Смысле всего это в том, что я просто копирую в переменную символы до тех пор пока не встречу пробел, как только пробел сразу удаляю данные по этот пробел вместе с ним. Затем дальше смотрю, начиная сначала уже и так до конца строки. На TButton событие — OnClick написал следующий код

Хочу заметить, что в настоящее время очень популярны электронные платежи и электронная валюта. Одним из таких систем электронных платежей и электронных расчетов является Perfect Money. Да, кстати обмен Perfect Money Вы сможете осуществить онлайн по очень выгодному курсу, не выходя из дома, тем самым экономя свое драгоценное время.
procedure TForm1.Button1Click(Sender: TObject);
var
 s2:WideString;
 s:WideString;
 i,j:integer;
begin
   try
    s:=Edit1.Text;
    s2:='';
    i:=1;
    while (i<=length(s)) do
     begin
      if s[i]<>' ' then
       begin
        s2:=s2+s[i];
       end;
      if s[i]=' ' then
       begin
        Delete(s,1,i);
        if (s2<>'') then
         ListBox1.Items.Add(s2);
        s2:='';
        i:=0;
       end;
      inc(i);
     end;
    ListBox1.Items.Add(s);
   except
    on e:Exception do
   end;
end;

В конце у меня в первоначальной переменной остается последнее слово, число, смотря что парсить будете, так вот мы его после всего этого цикла добавляем в список наш. Этот метод очень медленный и пусть строка будет очень длинной обрабатывать он будет долго ее, а также если Вам надо выделить только числа например, то придется еще и писать функцию определения типа данных переменных. Этот я метод Вам привел не спроста, так как хотел показать, что он ничто по сравнению с TParser, TParser - это класс, предназначенный для разбора строк на числа например, слова и так далее. О нем в следующей статье

Facebook Vk Ok Twitter LinkedIn Telegram

Похожие записи:

В первой части я рассказал, как можно разбить строку на слова, числа, в общем на подстроки, которые находятся между пробелами в строке. Так вот как я уже говорил, первый метод не совсем быстрый и не совсем стабильный. Поэтому я пишу про статью про TParser - эт...
Конкатенация строк в программировании - это процесс объединения двух или более строк в одну более длинную строку. Это один из наиболее распространенных методов обработки строк в большинстве языков программирования.
В Delphi эквивалентом char** из C++ является PPAnsiChar. PPAnsiChar также является указателем на указатель на AnsiChar, где AnsiChar представляет символ в кодировке ANSI. PPAnsiChar может использоваться для представления массива строк в кодировке ANSI. Каждый ...