Удалить из строки S все группы длиной n подряд стоящих одинаковых символов - Free Pascal
Формулировка задачи:
Не получается убрать все символы, которые идут подряд. Один символ всегда остается... Нужно как-то через "delete", но я через него не знаю как. Помогите пожалуйста.
Дана строка S и дано натуральное n. Удалить из строки S все группы длиной n подряд стоящих одинаковых символов.
Решение задачи: «Удалить из строки S все группы длиной n подряд стоящих одинаковых символов»
textual
Листинг программы
- write('S=');readln(s);
- write('n=');readln(n);
- with TRegExpr.Create do
- try
- Expression:=Format('(.)\1{%d,%d}', [n-1, n-1]);
- s:=Replace(s,'',true);
- finally
- Free;
- end;
- writeln(s);
Объяснение кода листинга программы
- Ввод строки S и числа n с помощью функций readln
- Создание объекта TRegExpr
- Формирование регулярного выражения (Expression) с помощью функции Format
- Замена всех групп символов длиной n подряд стоящих одинаковых символов на пустую строку с помощью функции Replace
- Вывод результата на экран с помощью функции writeln
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д