Замена подстроки в строке

Задача

Найти в строке определенную последовательность символов и заменить ее другой.

Решение

 

Описание переменных: 

s, s_old, s_new – исходная строка, заменяемая подстрока, вставляемая подстрока;
i – номер символа строки, с которого начинается подстрока;
l_old – длина заменяемой подстроки.

Алгоритм решения задачи: 

  1. Ввести строку, подстроку, которую требуется заменить, и подстроку, которую требуется вставить на место прежней.
  2. Найти место вхождения подстроки в строку с помощью функции pos().
  3. Удалить старую подстроку с помощью процедуры delete().
  4. Вставить новую подстроку, используя процедуру insert().

Программа на языке Паскаль: 

 

var
    s,s_old,s_new: string;
    i,l_old: byte;
begin
    write('Insert string: ');
    readln(s);
    write('What change? ');
    readln(s_old);
    l_old := length(s_old);
    write('What to replace? ');
    readln(s_new);
    i := pos(s_old,s);
    delete(s,i,l_old);
    insert(s_new,s,i);
    writeln(s);
readln
end.

 

Примечания: 

Функция Pos(subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s.

Процедура Delete(s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Процедура Insert(subs, s, start) вставляет в строку s подстроку subs, начиная с позицииstart.

 

Тема

Строки

Уровень

Простые задачи

Теги

Добавить комментарий