Поиск подстроки в строке - 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);//производим поиск.
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д