replace seq1 seq2 &key start1 start2 end1 end2 from-end ⇒ seq1
Деструктивно изменяет последовательность seq1, замещая её часть элементами подпоследовательности seq2.
Если подпоследовательности имеют разную длину, то наименьшая длина определяет число замещаемых элементов. Лишние элементы с правого конца более длинной игнорируются.
Фактическое число копируемых элементов равно
min(end1 - start1, end2 - start2)
Когда обе последовательности — один и тот же объект и области пересекаются, исходная область сначала словно копируется во временную память и только затем замещает целевую область.
(replace "abcdefghij" "0123456789" :start1 4 :end1 7 :start2 4) "abcd456hij" (setq s "012345678") "012345678" (replace s s :start1 2 :start2 0) "010123456" s "010123456"