VirQ. Содержит ли строка подстроку в C#
Язык C# входит в ТОП-5
самых популярных языков
программирования
Главная / Строковые переменные /
Содержит ли строка подстроку
Статей на сайте: 61

Содержит ли строка подстроку


Для того, чтобы узнать, есть ли одна строка в другой строке, используется метод Contains. Вот такой вид записи использует:
[code] string s = "На небе светит Луна, а так же видно Венеру"; string t = "светит"; if (s.Contains(t)) Console.WriteLine("Да, содержит"); else Console.WriteLine("Нет, нет такого слова"); Console.ReadKey(); [/code]
В данном случае "s" - это строка, в которой мы ищем.
А в переменной "t" - то, что мы ищем
Само выражение s.Contains(t) выдаст true, если найдено и false - если не найдено.

Так же допустима такая запись:
[code] if (s.Contains("светит")) Console.WriteLine("Да, содержит"); [/code]
И даже такая (так нигде не будет использоваться, просто привожу пример разнообразия записей):
[code] if ("воскресенье".Contains("крес")) Console.WriteLine("Да, содержит"); [/code]

Если вам нужна логика наоборот, т.к. положительный результат, если слово не найдено, добавляете "!" перед выражением:
[code] string s = "один три семь восемь десять"; string t = "шесть"; if (!s.Contains(t)) Console.WriteLine("Не входит в список"); else Console.WriteLine("Входит в список"); Console.ReadKey(); [/code]

Не забывайте, что регистр важен для поиска.
[code] string s = "На небе большая Луна"; string t = "луна"; if (s.Contains(t)) Console.WriteLine("Найдено"); else Console.WriteLine("Не найдено"); Console.ReadKey(); [/code]
В этом случае будет такой результат:
Console
×
Не найдено

Чтобы поиск срабатывал, исключая регистр, необходимо оба текста исходный и искомый привести к заглавным/прописным буквам:
[code] string s = "На небе большая Луна"; string t = "луна"; if (s.ToLower().Contains(t.ToLower())) Console.WriteLine("Найдено"); else Console.WriteLine("Не найдено"); Console.ReadKey(); [/code]
Здесь и переменная "s" приведена к прописным и переменная "t"
Более подробная запись будет выглядеть так:
[code] string s = "На небе большая Луна"; string t = "луна"; s = s.ToLower(); //на небе большая луна t = t.ToLower(); //луна if (s.Contains(t)) Console.WriteLine("Найдено"); else Console.WriteLine("Не найдено"); Console.ReadKey(); [/code]
И получаем:
Console
×
Найдено


Дополнительная информация о том, как вывести результат в консоли или WinForm