Во всех словах предложения, отличных от последнего слова, удалить все предыдущие вхождения последней буквы - C#

Узнай цену своей работы

Формулировка задачи:

Задание. Дана последовательность, содержащая слова, в каждом из которых от 1 до 8 строчных (маленьких) латинских букв, разделенные точкой с запятой, после последнего слова - точка. Во всех словах предложения, отличных от последнего слова, удалить все предыдущие вхождения последней буквы. Например, исходное предложение: «fsdf;iuuy;qwerwq;yjnmkj.», результат: «sdf;iuuy;werwq;ynmkj.».
Листинг программы
  1. static string obrabotka(string str){
  2. //записываем строку в массив строк без разделителей
  3. string[] mas = str.Split(';', '.');
  4. str = "";
  5. for (int i = 0; i < mas.Length; i++)
  6. //по условию длина слова от 1 до 8 символов
  7. if (mas[i].Length > 1 && mas[i].Length < 8)
  8. {
  9. //цикл по каждому символу слова за исключением последней
  10. for (int k = 0; k < mas[i].Length - 1; k++)
  11. {
  12. //если последняя буква совпадает с найденной
  13. if (mas[i][mas[i].Length - 1] == mas[i][k])
  14. {
  15. // удаляем найденную букву
  16. mas[i] = mas[i].Remove(k, 1);
  17. }
  18. }
  19. //после каждого проверенного слова ставим точку с запятой
  20. str = str + mas[i] + ";";
  21. }
  22. //удаляем последнюю точку с запятой и добавляем в конец точку
  23. str = str.Remove(str.Length - 1) + '.';
  24. //возвращаем обработанную строку
  25. return str;
  26. }
нужно заменить эти
Листинг программы
  1. if (mas[i][mas[i].Length - 1] == mas[i][k])
  2. mas[i] = mas[i].Remove(k, 1);
строки одной с использованием IndexOf. Кто подскажет как это сделать?

Решение задачи: «Во всех словах предложения, отличных от последнего слова, удалить все предыдущие вхождения последней буквы»

textual
Листинг программы
  1. mas[i] = mas[i].Remove(mas[i].IndexOf(mas[i][mas[i].Length - 1], 0, mas[i].Length - 1), 1);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы