Добавить в цитаты Настройки чтения

Страница 379 из 502

Во многих случаях полезным для поиска в строке оказывается метод Contains(). Его общая форма выглядит следующим образом.

<b>public bool Contains(string value)</b>

Метод Contains() возвращает логическое значение true, если вызывающая строка содержит подстроку, обозначаемую параметром value, в противном случае — логическое значение false. Поиск указываемой подстроки осуществляется порядковым способом. Этот метод особенно полезен, если требуется только выяснить, находится ли конкретная подстрока в другой строке. В приведенном ниже примере программы демонстрируется применение метода Contains().

<b>// Продемонстрировать применение метода Contains().</b>

<b>using System;</b>

<b>class ContainsDemo {</b>

<b>  static void Main() {</b>

<b>    string str = &quot;C# сочетает эффективность с производительностью.&quot;;</b>

<b>    if(str.Contains(&quot;эффективность&quot;))</b>

<b>      Console.WriteLine(&quot;Обнаружена подстрока &quot;эффективность&quot;.&quot;);</b>

<b>    if(str.Contains(&quot;эффе&quot;))</b>

<b>      Console.WriteLine(&quot;Обнаружена подстрока &quot;эффе&quot;.&quot;);</b>

<b>    if(!str.Contains(&quot;эффективный&quot;))</b>

<b>      Console.WriteLine(&quot;Подстрока &quot;эффективный&quot; не обнаружена.&quot;);</b>

<b>  }</b>

<b>}</b>

Выполнение этой программы приводит к следующему результату.

<b>Обнаружена подстрока &quot;эффективность&quot;.</b>

<b>Обнаружена подстрока &quot;эффе&quot;.</b>

<b>Подстрока &quot;эффективный&quot; не обнаружена.</b>

Как следует из результата выполнения приведенной выше программы, метод Contains() осуществляет поиск на совпадение произвольной последовательности символов, а не только целых слов. Поэтому в вызывающей строке обнаруживается и подстрока "эффективность", и подстрока "эффе". Но поскольку в вызывающей строке отсутствует подстрока "эффективный", то она и не обнаруживается.

У некоторых методов поиска в строке имеются дополнительные формы, позволяющие начинать поиск по указанному индексу или указывать пределы для поиска в строке. В табл.22.3 сведены все варианты методов поиска в строке, которые поддерживаются в классе String.

Таблица 22.3. Методы поиска в строке, поддерживаемые в классе String

Метод - Назначение

public bool Contains(string value) - Возвращает логическое значение true, если вызывающая строка содержит подстроку value. Если же подстрока value не обнаружена, возвращается логическое значение false

public bool EndsWith(string value) - Возвращает логическое значение* true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает логическое значение false

public bool EndsWith(string value, StringComparison comparisonType) -  Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает логическое значение false. Параметр comparisonType определяет конкретный способ поиска

public bool EndsWith(string value, bool ignoreCase, Culturelnfo culture) - Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value, иначе возвращает логическое значение false. Если параметр ignoreCase принимает логическое значение true, то при сравнении не учитываются различия между прописным и строчным вариантами букв. В противном случае эти различия учитываются. Поиск осуществляется с использованием информации о культурной среде, обозначаемой параметром culture

public int IndexOf(char value) - Возвращает индекс первого вхождения символа value в вызывающей строке. Если искомый символ не обнаружен, то возвращается значение -1

public int IndexOf(string value) -  Возвращает индекс первого вхождения подстроки value в вызывающей строке. Если искомая подстрока не обнаружена, то возвращается значение -1

public int IndexOf(char value, int startlndex) - Возвращает индекс первого вхождения символа value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startlndex. Метод возвращает значение -1, если искомый символ не обнаружен

public int IndexOf(string value, int startlndex) - Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startlndex. Метод возвращает значение -1, если искомая подстрока не обнаружена

public int IndexOf(char value, int startlndex, int count) - Возвращает индекс первого вхождения символа value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startlndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если искомый символ не обнаружен

public int IndexOf(string value, int startlndex, int count) - Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startlndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если искомая подстрока не обнаружена public int

IndexOf(string value, StringComparison comparisonType) - Возвращает индекс первого вхождения подстроки value в вызывающей строке. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаружена

public int IndexOf(string value, int startlndex, StringComparison comparison Type) - Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startlndex. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаружена

public int IndexOf(string value, int startlndex, int count, StringComparison comparisonType) - Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startlndex, и охватывает число элементов, определяемых параметром count. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаружена