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

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

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

Задание. Дана последовательность, содержащая слова, в каждом из которых от 1 до 8 строчных (маленьких) латинских букв, разделенные точкой с запятой, после последнего слова - точка. Во всех словах предложения, отличных от последнего слова, удалить все предыдущие вхождения последней буквы. Например, исходное предложение: «fsdf;iuuy;qwerwq;yjnmkj.», результат: «sdf;iuuy;werwq;ynmkj.».
   static string obrabotka(string str){
            //записываем строку в массив строк без разделителей
            string[] mas = str.Split(';', '.');
            str = "";
            for (int i = 0; i < mas.Length; i++)
                //по условию длина слова от 1 до 8 символов 
                if (mas[i].Length > 1 && mas[i].Length < 8)
                {
                    //цикл по каждому символу слова за исключением последней
                    for (int k = 0; k < mas[i].Length - 1; k++)
                    {
                        //если последняя буква совпадает с найденной
                        if (mas[i][mas[i].Length - 1] == mas[i][k])
                        {
                            // удаляем найденную букву
                            mas[i] = mas[i].Remove(k, 1);
                        }
                    }
                    //после каждого проверенного слова ставим точку с запятой
                    str = str + mas[i] + ";";
                }
            //удаляем последнюю точку с запятой и добавляем в конец точку
            str = str.Remove(str.Length - 1) + '.';
            //возвращаем обработанную строку
            return str;
 
        }
нужно заменить эти
     if (mas[i][mas[i].Length - 1] == mas[i][k])
    mas[i] = mas[i].Remove(k, 1);
строки одной с использованием IndexOf. Кто подскажет как это сделать?

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

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

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


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

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

14   голосов , оценка 4.286 из 5
Похожие ответы