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

Очистка строки слева и справа от указанных символов

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

Очистка строки слева и справа от указанных символов

Автор: VID
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Очистка строки слева и справа от указанных символов

Функция возвращает word, очищеный от начальных и конечных символов, которые
попадают в строку TrimSymbols.
Например, ShowMessage (TrimEx('<MegaTeg>', '<>')), выведет сообщение "MegaTeg"
(без кавычек).

Зависимости: system, sysutils
Автор:       VID, vidsnap@mail.ru, ICQ:132234868, Махачкала
Copyright:   VID
Дата:        25 апреля 2002 г.
***************************************************** }

function TrimEX(Word, TrimSymbols: string): string;
var
  x, a, b: Integer;
begin
  Result := Word;
  if TrimSymbols = '' then
    exit;
  Word := Trim(word);
  if length(word) = 0 then
    exit;

  x := 0;
  repeat
    x := x + 1;
  until (pos(ansiuppercase(word[x]), ansiuppercase(TrimSymbols)) = 0)
    or (x = length(word));
  a := x;

  x := length(word) + 1;
  repeat
    x := x - 1;
  until (pos(ansiuppercase(word[x]), ansiuppercase(TrimSymbols)) = 0)
    or (x = 1);
  b := x;

  word := copy(word, a, b - a + 1);
  result := word;
end;

Here's the translation of the content into Russian:

Функция Delphi под именем TrimEX, которая удаляет указанные символы с начала и конца заданной строки. Функция принимает два параметра: Word, который является входной строкой, и TrimSymbols, которая содержит символы для удаления.

Рассмотрим, как функция работает:

  1. Если TrimSymbols является пустой строкой, функция возвращает оригинальную Word без изменения.
  2. Функция вызывает функцию Trim на Word для удаления любых ведущих или.trailing whitespace символов.
  3. Если длина Word теперь равна 0 (т.е. она была полностью очищенной строкой), функция возвращает сразу.
  4. Затем функция итерирует символы в Word слева направо, используя функцию pos для поиска первого вхождения любого символа в TrimSymbols. Если она находит один, она записывает позицию (x) и продолжает поиск до конца строки или обнаружения другого вхождения.
  5. Аналогично функция итерирует символы в Word справа налево, используя тот же логик, но с обратными индексами.
  6. Функция затем извлекает подстроку из Word, начиная с позиции a и заканчивая позицией b-1, используя функцию Copy. Это подстрока - очищенная версия Word.
  7. Наконец, функция возвращает эту очищенную строку как ее результат.

Код включает некоторые комментарии и документацию на русском языке, которые можно перевести:

  • "Очистка строки от указанных символов"
  • "Функция возвращает слово, очищенное удалением ведущих и trailing символов из строки TrimSymbols."
  • "Например, вызов ShowMessage(TrimEx('<MegaTeg>', '<>')) отобразит сообщение 'MegaTeg' (без кавычек)."

Код также включает информацию о зависимостях (единица Delphi System и SysUtils) и авторских кредитах.

Один из потенциальных улучшений этого кода - использовать более эффективный алгоритм для поиска первого и последнего вхождения символов в TrimSymbols. Текущая реализация использует вложенные циклы, которые можно оптимизировать с помощью одиночного прохода через строку или болееadvanced поиск алгоритма. Кроме того, код может выиграть от дополнительной обработки ошибок или валидации входных данных, чтобы обеспечить, что Word не является пустой строкой и TrimSymbols не null или пустой.

Функция TrimEX возвращает строку, очищенную от указанных символов из начала и конца строки.


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

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




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:10:37/0.0036740303039551/1