Исключить из предложения слово, заданное своим порядковым номером - PascalABC.NET
Формулировка задачи:
С клавиатуры ввести предложения. Исключить из него слово, заданное своим порядковым номером (если слова с таким номером нет, то предложение не изменяется).
Решение задачи: «Исключить из предложения слово, заданное своим порядковым номером»
textual
Листинг программы
uses System.Text.RegularExpressions;
var s : string := ReadlnString('Предложение: ');
var n : integer := ReadlnInteger('Номер слова: ');
begin
var a := s.Split(' ');
if n <= a.Length then
s := string.Join(' ', a.Select((s, i) -> (i + 1 = n) ? Regex.Replace(s, '\w', '') : s).ToArray());
writeln('Результат: ', s);
end.
Объяснение кода листинга программы
- Вводится предложение с помощью функции
ReadlnString(строка 1) - Вводится номер слова с помощью функции
ReadlnInteger(строка 2) - Предложение разбивается на слова с помощью метода
Split(строка 3) - Если номер слова не превышает длину предложения, то для каждого слова проверяется его номер. Если номер совпадает с заданным, то слово заменяется на пустую строку с помощью метода
Replaceи функцииRegex(строка 4) - Полученные слова объединяются обратно в предложение с помощью метода
Join(строка 5) - Результат выводится на экран с помощью функции
writeln(строка 6)