Удалить из строки 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д