idx = str.IndexOfAny(chrs);
Console.WriteLine('Индекс первого вхождения символов ' +
' 'а1, 'б' или 'в': ' + idx);
if(str.StartsWith('C# обладает', StringComparison.Ordinal))
Console.WriteLine('Строка str начинается с подстроки 'C# обладает'');
if(str.EndsWith('строк.', StringComparison.Ordinal))
Console.WriteLine('Строка str оканчивается подстрокой 'строк.'') ;
}
}
Ниже приведен результат выполнения этой программы.
Строка str: C# обладает эффективными средствами обработки строк.
Индекс первого вхождения символа ' о' : 3 Индекс последнего вхождения символа 'о': 49 Индекс первого вхождения подстроки 'ми': 22 Индекс последнего вхождения подстроки 'ми': 33 Индекс первого вхождения символов 1 а', 'б' или 'в': 4
Строка str начинается с подстроки 'C# обладает'
Строка str оканчивается подстрокой 'строк.'
Во многих случаях полезным для поиска в строке оказывается метод Contains(). Его общая форма выглядит следующим образом.
public bool Contains(string
Метод Contains () возвращает логическое значение true, если вызывающая строка содержит подстроку, обозначаемую параметром
// Продемонстрировать применение метода Contains().
class ContainsDemo { static void Main() {
string str = 'C# сочетает эффективность с производительностью.';
if(str.Contains('эффективность'))
Console.WriteLine('Обнаружена подстрока 'эффективность'.');
if(str.Contains('эффе'))
Console.WriteLine('Обнаружена подстрока 'эффе'.');
if(!str.Contains('эффективный'))
Console.WriteLine('Подстрока 'эффективный' не обнаружена.');
}
}
Выполнение этой программы приводит к следующему результату.
Обнаружена подстрока 'эффективность'.
Обнаружена подстрока 'эффе'.
Подстрока 'эффективный' не обнаружена.
Как следует из результата выполнения приведенной выше программы, метод Contains () осуществляет поиск на совпадение произвольной последовательности символов, а не только целых слов. Поэтому в вызывающей строке обнаруживается и подстрока 'эффективность', и подстрока 'эффе'. Но поскольку в вызывающей строке отсутствует подстрока 'эффективный', то она и не обнаруживается.
У некоторых методов поиска в строке имеются дополнительные формы, позволяющие начинать поиск по указанному индексу или указывать пределы для поиска в строке. В табл. 22.3 сведены все варианты методов поиска в строке, которые поддерживаются в классе String.
Таблица 22.3. Методы поиска в строке, поддерживаемые в классе String
Метод
Назначение
public bool Contains (string
public bool EndsWith(string
public bool EndsWith(string
public bool EndsWith(string
Возвращает логическое значение true, если вызывающая строка содержит подстроку
