Поиск подстроки в строке - C# (191927)

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

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

Подскажите, как организовать поиск подстроки в строке. То есть ввожу,допустим, строку: строка; далее подстроку: ро. И должно выдать ответ, что строка содержит подстроку. Приведенный ниже код работает неверно, т.к. сравнивает первые символы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Do:
            Console.WriteLine("Введите строку");
            string stroka = Console.ReadLine();
            Console.WriteLine("Введите подстроку");
            string podstroka = Console.ReadLine();
            if (stroka.Length < podstroka.Length)
                Console.WriteLine("строка не может быть меньше подстроки");
            else
            {
                for (int i = 0; i < stroka.Length; i++)
                {
                    for (int j = 0; j < podstroka.Length; j++)
                    {
                        if (stroka[i] == podstroka[j])
                            Console.WriteLine("Строка {0} содержит подстроку {1}", stroka, podstroka);
                        else
                            Console.WriteLine("Строка {0} не содержит подстроку {1}", stroka, podstroka);
                            goto Do;
 
                    }
                }
            }
        }
    }
}

Решение задачи: «Поиск подстроки в строке»

textual
Листинг программы
        
        public List<string> items = new List<string>();
        //Поиск 
        public void Search(ListBox listBox, List<string> AllIt)
        {
           List<string>  find_items = AllIt.FindAll(delegate(string str) { return str.ToLower().Contains(textBox1.Text); });// сохраняем найденные промежуточные значения (пользуясь предикатом)
           listBox.DataSource = find_items; //отображаем найденные значения
        }
 
        private void MainForm_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                items.Add(listBox1.Items[i].ToString());
            }
        }
 
        private void textBox1_TextChanged_1(object sender, EventArgs e)
        {
            Search(listBox1, items);//производим поиск.
        }

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


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

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

8   голосов , оценка 4.75 из 5