Другие языки программирования и технологии

Как заменить слово в строке?Паскаль

Если есть строка "Вася пошол в школу" нужно что бы программа изменила "вася" на "петя".VAR stroka:string;beginreadln(stroka);if pos(stroka,'вася')=true thenbegin{А вот здесь не знаю как изменить это слово в строке}end;
Доброго времени суток.

Для того, чтобы заменить Васю на Петю нужно три строчки программы (с проверкой - 4). Итак, пусть ваша строка находится в переменной Str.

i := Pos('Вася', Str); {в i позиция, с которой начинается слово "Вася" в исходной строке}
if i > 0 then begin {"Вася" таки нашелся}
Delete(Str, i, 4); {удаляем из исходной строки 4 симвла, начиная с позиции i}
Insert('Петя', Str, i); {вставляем в строку Str в позицию i слово "Петя" (все след. символы сдвигаются вправо) }
end;

Вот и все.

Удачи!

2 SHA-256: Есть такая функция, но не в паскале, вернее не в ТР. А по вопросу не ясно, с чем работает чел. , так что надежнее использовать классику.

2 Tiko Simonyan; Понятно, почему из строки удаляем 4 символа? Это длина слова "Вася". А вообще ширше юзайте справку, там все есть.
ГБ
Гош Бросин
59 613
Лучший ответ
var stroka:string; p:integer;
begin
readln(stroka); p:=pos(stroka,'Вася');
if p<>0 then begin delete(stroka,p,length('Вася')); insert('Петя',stroka,p) end;
readln
end.
function ReplaceStr(const S, Srch, Replace: string): string;
{замена подстроки в строке}
var
I:Integer;
Source:string;
begin
Source:= S;
Result:= '';
repeat
I:=Pos(Srch, Source);
if I > 0 then begin
Result:=Result+Copy(Source,1,I-1)+Replace;
Source:=Copy(Source,I+Length(Srch),MaxInt);
end else Result:=Result+Source;
until I<=0;
end;
АВ
Антон Ветров
46 794
const
str1:string = 'Вася';
str2:string = 'Петя';
VAR stroka:string;
begin
readln(stroka);
if pos(str1, stroka)<>0 then
begin
stroka := str2+Copy(stroka, pos(str1, stroka)+Length(str1), length(stroka));
end;

Чел, смотрю по предыдущему ответу ту не совсем понял как POS работает.. . Почитай про нее внимательно.
Tesler Tesler
Tesler Tesler
13 522
Есть замечательная функция StringReplace();
Туда и бурим.
напиши просто stroka:= 'Петя пошол в школу';