Pascal, строки Ввести строку и слово. Удалить слово из строки, если она в ней содержится.
Pascal, строки
Ввести строку и слово. Удалить слово из строки, если она в ней содержится.
Ответ(ы) на вопрос:
Гость
var
subs, s: string;
begin
write('Enter the string: ');
readln(s);
s := s + ' ';
write('Enter the word: ');
read(subs);
while pos(' ', subs) > 0 do
delete(subs, pos(' ', subs), 1);
subs := ' ' + subs + ' ';
if pos(subs, s) > 0 then
delete(s, pos(subs, s) + 1, length(subs) - 1);
write('The resulting string: ', s);
end.
Гость
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017
// Внимание! Если программа не работает, обновите версию!
begin
var aw:=ReadlnString('Введите строку:').ToWords;
var w:=ReadlnString('Введите искомое слово:');
var i:=aw.FindIndex(e->e=w);
var s:string;
if i>-1 then
if i=aw.Count-1 then s:=aw[:i].JoinIntoString
else s:=(aw[:i]+aw[i+1:]).JoinIntoString
else s:=aw.JoinIntoString;
s.Println
end.
Замечание:
Учитываются именно слова, а не контекст, т.е. слово должно отделяться от остальной части строки пробелом, либо признаками начала/конца строки.
Не нашли ответ?
Похожие вопросы