Другие языки программирования и технологии
Как заменить слово в строке?Паскаль
Если есть строка "Вася пошол в школу" нужно что бы программа изменила "вася" на "петя".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 символа? Это длина слова "Вася". А вообще ширше юзайте справку, там все есть.
Для того, чтобы заменить Васю на Петю нужно три строчки программы (с проверкой - 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 символа? Это длина слова "Вася". А вообще ширше юзайте справку, там все есть.
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.
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;
{замена подстроки в строке}
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;
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 работает.. . Почитай про нее внимательно.
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 работает.. . Почитай про нее внимательно.
Есть замечательная функция StringReplace();
Туда и бурим.
Туда и бурим.
напиши просто stroka:= 'Петя пошол в школу';
Похожие вопросы
- Как найти слово в строке. Паскаль
- Как разделить слова в строке, чтобы их потом сравнивать друг с другом и сортировать? (Паскаль)
- C# Парсинг слов из строки без регистра
- Програма на С++ Ввести с клавиатуры строку символов и перевернуть каждое четное слово в строке.
- C++. Поменять местами слова в строке
- замена слов в строке в СИ
- замена слов в строках С++
- Помогите плиз!Определяет какой из двух символ встречается чаще в данной строке? Паскаль
- найти первую букву второго слова в строке. c++
- как подсчитать количество слов в строке разделённым больше чем одним пробелом(Delphi)