Удалить текст между 2 словами - C#

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

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

Удаляю текст между 2 словами следующим образом:
Листинг программы
  1. while (text.IndexOf("ничего") != -1)
  2. text = text.Remove(text.IndexOf("ничего"), text.IndexOf("нет") + 9);
Но возникает ошибка "Индекс и показание счетчика должны указывать на позицию в строке.". Известно, что ошибку выбивает при второй итерации. Каким образом можно решить проблему?

Решение задачи: «Удалить текст между 2 словами»

textual
Листинг программы
  1.             string text = "мама папа сын дочь зять невеста";//исходный текст. Берется откуда-то
  2.             string word1 = "папа"; string word2 = "зять";//слова. Также берутся откуда-то
  3.             int i1 = text.IndexOf(word1); int i2 = text.IndexOf(word2);
  4.             string mes = ""; string w1="", w2=""; int ind1=0, ind2=0;
  5.             if (i1 == i2) mes = "Задано одно и то же слово";
  6.             else if (i1 > i2) { w1 = word2; ind1 = i2; w2 = word1; ind2 = i1; }
  7.             else { w2 = word2; ind2 = i2; w1 = word1; ind1 = i1; }
  8.             string result = text.Remove(ind1 + w1.Length, i2 - ind1 - w1.Length);
  9.             if (mes == "")
  10.                 MessageBox.Show("Из текста:\r\n" + text + "\r\n" + "удаляем текст между словами: " +
  11.                     w1 + " и " + w2 + "\r\n" + "Получаем:\r\n" + result);
  12.             else MessageBox.Show(mes);

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


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

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

15   голосов , оценка 3.867 из 5

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

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

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