// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
function TR(Self,aold,anew:string):string; extensionmethod;
begin
Result:='';
var n:=Min(aold.Length,anew.Length);
for var i:=1 to Self.Length do begin
var fnd:=false;
for var j:=1 to n do
if Self[i]=aold[j] then begin
Result+=anew[j];
fnd:=true;
break
end;
if not fnd then Result+=Self[i]
end
end;
begin
Randomize;
var k:=Ord('a');
var s:=SeqGen(50,t->Chr(Random(26)+k)).JoinIntoString;
s.Println;
s:=s.TR('ao','oa'); s.Println
end.
Пример
gclcewxcscqmnuazhvkrswrvbqsiholmlarlfuyqaipvayhovb
gclcewxcscqmnuozhvkrswrvbqsihalmlorlfuyqoipvoyhavb