Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Разбор строки

Delphi , Синтаксис , Текст и Строки

Разбор строки

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

// Parse a string, for example: 
// How do I get the "B" from "A|B|C|D|E|F"? 

function Parse(Char, S: string; Count: Integer): string;
 var
   I: Integer;
   T: string;
 begin
   if S[Length(S)] <> Char then
     S := S + Char;
   for I := 1 to Count do
   begin
     T := Copy(S, 0, Pos(Char, S) - 1);
     S := Copy(S, Pos(Char, S) + 1, Length(S));
   end;
   Result := T;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   ShowMessage(Parse('|', 'A|B|C|D|E|F', 2));
 end;

 { 
  Parameters: 

  Parse([Character, for example "|"], [The string], 
  [The number, the "B" is the 2nd part of the string]); 

  This function is handy to use when sending data over the internet, 
  for example a chat program: Name|Text. Note: Be sure there's no "Char" in the string! 
  Use a unused character like "|" or "?". 
}

Программный код на Delphi, который парсит строку для извлечения конкретной части на основе указанного символа и счета.

Функция Parse

Функция Parse принимает три параметра:

  • Char: символ-разделитель (например, "|")
  • S: входная строка
  • Count: количество вхождений разделителя для извлечения

Функция работает следующим образом:

  1. Если последний символ входной строки не равен разделителю, то добавляет разделитель в конец.
  2. Затем она проходит по входной строке, считая количество вхождений разделителя (Count).
  3. Для каждой итерации она извлекает подстроку перед текущим вхождением разделителя с помощью Copy(S, 0, Pos(Char, S) - 1) и присваивает ее временной переменной T.
  4. Затем она обновляет входную строку, удалив извлеченную часть и любые trailing символы.
  5. Наконец, она возвращает извлеченную подстроку (Result := T).

Процедура TForm1.Button1Click

Это обработчик события нажатия кнопки на форме (TForm1). Когда кнопка нажата, она вызывает функцию Parse с следующими параметрами:

  • Char: символ-разделитель ("|")
  • S: входная строка ("A|B|C|D|E|F")
  • Count: количество вхождений для извлечения (2)

Функция возвращает извлеченную подстроку, которая затем отображается в сообщении с помощью ShowMessage.

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

В этом примере код извлекает 2-ю часть входной строки ("A|B|C|D|E|F"), которая является "B".

Замечание

Автор рекомендует использовать неиспользуемый символ, например "|", или "?" как разделитель, чтобы избежать конфликтов с фактическими символами в входной строке.

Функция Parse позволяет извлечь определенный элемент из строки, используя указанный символ разделителя и количество элементов для извлечения.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Текст и Строки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-04 06:02:32/0.0056219100952148/0