Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

Console.WriteLine("Индекс последнего вхождения подстроки \"ми\": " + idx);

char[] chrs = { 1 a', '6', 1 в' };

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 value)

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

// Продемонстрировать применение метода 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 value)

public bool EndsWith(string value)

public bool EndsWith(string value, StringComparison comparisonType)

public bool EndsWith(string value, bool ignoreCase, Culturelnfo culture)

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

Возвращает логическое значение* true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает логическое значение false Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает логическое значение false. Параметр comparisonType определяет конкретный способ поиска Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value, иначе возвращает

Метод

Назначение

public int

IndexOf(char value)

логическое значение false. Если параметр ignoreCase принимает логическое значение true, то при сравнении не учитываются различия между прописным и строчным вариантами букв. В противном случае эти различия учитываются. Поиск осуществляется с использованием информации о культурной среде, обозначаемой параметром culture Возвращает индекс первого вхождения

public int

IndexOf(string value)

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

public int

IndexOf(char value, int

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

Поделиться:
Популярные книги

Академия

Кондакова Анна
2. Клан Волка
Фантастика:
боевая фантастика
5.40
рейтинг книги
Академия

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Низший 2

Михайлов Дем Алексеевич
2. Низший!
Фантастика:
боевая фантастика
7.07
рейтинг книги
Низший 2

Попаданка в деле, или Ваш любимый доктор - 2

Марей Соня
2. Попаданка в деле, или Ваш любимый доктор
Любовные романы:
любовно-фантастические романы
7.43
рейтинг книги
Попаданка в деле, или Ваш любимый доктор - 2

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3

Ты не мой Boy 2

Рам Янка
6. Самбисты
Любовные романы:
современные любовные романы
короткие любовные романы
5.00
рейтинг книги
Ты не мой Boy 2

Комендант некромантской общаги 2

Леденцовская Анна
2. Мир
Фантастика:
юмористическая фантастика
7.77
рейтинг книги
Комендант некромантской общаги 2

Экономка тайного советника

Семина Дия
Фантастика:
фэнтези
5.00
рейтинг книги
Экономка тайного советника

Душелов. Том 2

Faded Emory
2. Внутренние демоны
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Душелов. Том 2

Любимая учительница

Зайцева Мария
1. совершенная любовь
Любовные романы:
современные любовные романы
эро литература
8.73
рейтинг книги
Любимая учительница

Довлатов. Сонный лекарь 3

Голд Джон
3. Не вывожу
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь 3

Санек

Седой Василий
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Санек

Страж Кодекса. Книга VI

Романов Илья Николаевич
6. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга VI

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2