• Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:

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

    PacsalABC.NET

Ответы 2

  • если помогло то не забудте лучший ответ поставить
    • Автор:

      ivyvwun
    • 6 лет назад
    • 0
  • модуль

    unit SpaceLib;

    interface

    uses System;

    const

       ch = ' ';

    function MyTrimLeft(s: string): string;

    function MyTrimRight(s: string): string;

    function MyTrim(s: string): string;

    function MySingleSpaces(s: string): string;

    function MyNoSpaces(s: string): string;

    implementation

    function MyTrimLeft(s: string): string;

    begin

       MyTrimLeft := Regex.Replace(s, '^[' + ch + ']+', '');

    end;

    function MyTrimRight(s: string): string;

    begin

       MyTrimRight := Regex.Replace(s, '[' + ch + ']+$', '');

    end;

    function MyTrim(s: string): string;

    begin

       s := Regex.Replace(s, '^[' + ch + ']+', '');

       MyTrim := Regex.Replace(s, '[' + ch + ']+$', '');

    end;

    function MySingleSpaces(s: string): string;

    begin

       s := MyTrim(s);

       MySingleSpaces := Regex.Replace(s, '[' + ch + ']+', ' ');

    end;

    function MyNoSpaces(s: string): string;

    begin

       MyNoSpaces := s.Replace(ch, '');

    end;

    end.

    Пример

    //PascalABC.NET версия 3.4.0.1677 от 17.06.18

    //Если программа не запускается, то обновите версию

    uses SpaceLib;

    begin

       var s := '   123 123  23 4343    434 43 34    ';

       WritelnFormat('"{0}"', MyTrimLeft(s));

       WritelnFormat('"{0}"', MyTrimRight(s));

       WritelnFormat('"{0}"', MyTrim(s));

       WritelnFormat('"{0}"', MySingleSpaces(s));

       WritelnFormat('"{0}"', MyNoSpaces(s));

    end.

    • Автор:

      berger
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years