Поиск по тексту и отметка найденных слов - C#

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

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

Нужно сделать поиск по тексту с отметкой всех найденных слов. Проблема в том, что отмечается первое слово, потом если в тексте есть еще одно совпадение, то отмечается не найденное совпадение а следующее слово.
Листинг программы
  1. if (textBox2.Text == "")
  2. MessageBox.Show("Введите текст");
  3. else{
  4. string[] words = stroka.Split(new Char[] { ',', ' ', '\n' });
  5. int index = stroka.IndexOf(textBox2.Text);
  6. for(int i=0;i<words.Length;i++){
  7. MessageBox.Show(words[i]);
  8. if (words[i] == textBox2.Text)
  9. {
  10. {
  11. MessageBox.Show("Индекс входа " + index.ToString());
  12. richTextBox1.SelectionStart = index;
  13. richTextBox1.SelectionLength = textBox2.TextLength;
  14. richTextBox1.SelectionColor = Color.Green;
  15. MessageBox.Show("Количество символов " + (richTextBox1.SelectionLength).ToString());
  16. index = richTextBox1.SelectionLength+1;
  17. }
  18. }
  19. }
  20. }
  21. return stroka;
Я не могу понять как написать, чтобы оно брало начальный индекс не со следующего слова, а со следующего совпадения.

Решение задачи: «Поиск по тексту и отметка найденных слов»

textual
Листинг программы
  1.             var index = richTextBox1.Find(textBox1.Text);
  2.             while (index > -1)
  3.             {
  4.                 richTextBox1.SelectionBackColor = Color.Yellow;
  5.                 index = richTextBox1.Find(textBox1.Text, index + 1, RichTextBoxFinds.WholeWord);
  6.             }

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


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

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

12   голосов , оценка 3.917 из 5

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

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

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