Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 149
Текст из файла (страница 149)
Они обнаруживают первый символ, совпадающий с любым набором символов. Ниже приведены простейшие формы этих методов. рнЫхс 1пк 1пбехойапу(спас[) а) рпЫ1с 1пк Ьаяк1пбехогапу(спал() а) Метод 1пбехО1)(пу () возвращает индекс первого вхождения любого символа из массива а, обнаруженного в вызывающей строке, а метод ПаяС1пбехогдпу () — индекс последнего вхождения любого символа из массива а, обнаруженного в вызывающей строке. Если совпадение символов не обнаружено, то в обоих случаях возвращается значение — 1.
При обработке строк нередко оказывается полезно знать, начинается ли строка. заданной подстрокой или же оканчивается ею. Для этой цели служат методы 5СахбяИ1СЬ () и ЕпбяИБСЬ () . Ниже приведены их простейшие формы. риЫ1с ьоо1 зсагсяи1сь(ясгхпд ясг) рпЫгс Ьоо1 ЕпбяИ1СЬ(якг1по ягг) Метод 5сахсяифсь () возвращает логическое значение сгпе, если вызывающая строка начинается с подстроки ягг, переданной ему в качестве аргумента. А метод кпбяИБСЬ () возвращает логическое значение Сгпе, если вызывающая строка оканчивается подстрокой ясг, переданной ему в качестве аргумента.
В противном случае оба метода возвращают логическое значение га1яе. В приведенном ниже примере программы демонстрируется применение нескольких методов поиска в строке. // Продемонстрировать поиск в строке. иягпд зуябее; с1аяя 5кг1пс5еагсппеео ( якакус то1б Магп() ( якгхпд якг "С() обладает эффективными " + "средствами обработки строк." 1пк 1бхт Сопяо1е.нгясеЬяпе("Строка якг: " + ябг)т хбх = ясг.1пбехой('о')т Сопяо1е.ИЫСет фпе("Индекс первого вхождения 5Э "символа 'о': " + 1бх); Глава 22. Строки и форматирование 757 1бх = ясг.ьаяк1пбехот('о')) Сопяо1е.мггееЬЬпе("Индекс последнего вхождения " + "символа 'о': " + гбх)т гс)х = ясг.1пбехог("ми")т Сопяо1е.мг1геЬгпе("Индекс первого в)сождения " + "подстроки 1"ми(": " + гбх); гбх = яог.Ьаве1пбехот("ми")т сопяо1е.игьгеььпе("индекс послелнего вхождения " + "подстроки 1"ми1": " + 1бх)т сьаг[] сьгя = ( 'а', 'б', 'в' ); тбх = яег.1пбехбрапу(сьгя)т Сопяо1е.вгфеевьпе("Индекс первого вхождения " + "'символов " + " 'а', 'б' или 'в': " т 1бх)т 1т(ягг.згаггян1гп("с» обладает" )) сопяо1е.игггеьвпе("строка ягг начинается с " + "подстроки 1"СВ обладает1"")т 1т(ясг.кпбян1ГП("строк.")) Сопво1е.мг1ееьтпе("Строка всг оканчивается" + "подстрокой 1"строк.
1"")) Ниже приведены результаты выполнения этой программы. Во многих случаях полезным для поиска в строке оказывается метод сонг агля ( ) . Его общая форма выглядит так: рчь11с Ьоо1 Сопеагпя(яег1по яег) Метод Сопсафпв () возвращает логическое значение Ггое, если вызывающая строка содержит подстроку э Сг, в противном случае — логическое значение йа1эе. Этот метод особенно полезен, если требуется только выяснить, находится ли конкретная подстрока в другой строке. В приведенном ниже примере программы демонстрируется применение метода сопга1пз () .
// Продемонстрировать применение метода Сопкаьпя() чятпч 5уяеепц с1аяя Сопеагпяоево ( яоасгс чогб Маьп() ( Строка Индекс Индекс Индекс Индекс Индекс Строка Строка ягг: с» обладает эффективными средствами обработки строк. первого вхождения символа 'о': 3 последнего вхождения символа 'о'т 49 первого вхождения подстроки "ми": 22 последнего вхождения подстроки "ми": 33 первого вхождения символов 'а', 'б' или 'в'т 4 ясг начинается с подстроки "Св обладает" ясг оканчивается подстрокой "строк." 758 Часть П.
Библиотека СЗ згг1пд згг = "св сочетает эффективность с " т "производительностью." 11(экг.Сопказпэ("эффектнвность")) Сопэо1е.нггсеЬьпе("Обнаружена подстрока )"эффективность|"."); 1Г(эсг.Сопсагпэ("эффе")) сопзо1е.игьгеьбпе("Обнаружена подстрока )"эффе1".")~ 11(!эк».Сопка1пз("эффектнвннй")) сопзо1е.нгьгеььпе("подстрока )"эффективный)" не обнаружена."); Выполнение этой программы приводит к следующему результату: Обнаружена подстрока "эффективность".
Обнаружена подстрока "эффе". Подстрока "эффективный" не обнаружена. Таблица 22.3. Методы поиска в строке, поддерживаемые в классе Ввкйпд Метод Назначение риЬ1фс Ьоо1 Сопкуьпэ (зсгтпЯ згг) Возвращает логическое значение ггце, если вызывающая строка содержит подстроку згг. Если же подстрока э гг не обнаружена, то возвращается логическое значение та1эе риЬ11с Ьоо1 Епбэн»ГЬ(зсггпд эс») Возвращает логическое значение г где, если вызывающая строка оканчивается подстрокой э гг. В противном случае возвращает логическое значение га1эе рцвггс Ьоо1 Епбэигсп (зкгьпЯ эсг ЕкггпдСоюрагьэоп способ) Возвращает логическое значение »где, если вызывающая строка оканчивается подстрокой эг». В противном случае возвращает логическое значение га1эе.
Параметр способ определяет конкретный способ выполнения поиска рцЬ11с Ьоо1 Епбзн1ГЬ(зсгьпя 5ГГ Ьоо1 1дпо»еСаэе, Сц1кцге1пто с1) Возвращает логическое значение ггпе, если вызывающая строка оканчивается подстрокой эгг, иначе возвращает логическое значение га1эе. Если параметр здпогесазе принимает логическое значение »где, то прн сравнении не учитываются различия между прописным и строчным вари- антами букв.
В противном случае эти различия учитываются. Поиск осуществляется с использованием информации куль- турного характера, определяемой параметром сз Как следует нз результата выполнения приведенной выше программы, метод СОПЬагпз () осуществляет поиск на совпадение произвольной послеДовательности символов, а не только целых слов. Поэтому в вызывающей строке обнаруживается н подстрока "эффективность", и подстрока "эффе". Но поскольку в вызывающей строке отсутствует подстрока "эффективный", то она и не обнаруживается.
У некоторых методов поиска в строке имеются дополнительные формы, позволяющие начинать поиск по указанному индексу или указывать пределы для поиска в строке. В табл. 22.3 сведены все варианты методов поиска в строке, которые поддерживаются в классе ЕЬ»1пд. Продслкенна табл. 22.3 Назначение Метод риЫ1с Епг 1пт(ехОЕ(спаг сЛ, 1пс ясагс, 1пи соил г) риЫЕс Епи 1пбехОЕ (спаг сЛ) риЫ1с Епс 1пбехОЕ(ясг1пи ясг) риЬ11с Епи 1пбехОЕ(спаг сЛ, Епс ясагс) риЫ1с Епг 1пт(ехОЕ(ягггпи ясг, Ели ясагс) риЫЕс 1пс ХпбехОЕ(ясг1пц ясг, Епи ясагс, Епи соипс) риЫЕс Епи 1пбехОЕ (ясгзпд ягг, Яиг1пдСоврагзяоп способ) риЫЕс Епс 1пбехОЕ(ясгзпя ясг 1пг ягагг, яггапдСовраг1яоп способ) риЫЕс Епс 1пт(ехОЕ(ясг1пд ясг, 1пс ясагс, 1пс сиилс, ЯсгзпцСоврагзяоп способ) риЫ1с Епг 1 Вяс1ииехОЕ (спаг сЛ) риЫ1с 1пс Лаяи1пйехОЕ(ясгзпд ясг) Глава 22. Строки л форматирование 759 Возвращает индекс первого вхождения символа сл в вы- зывающей строке, Если искомый символ не обнаружен, то возвращается значение -( Возвращает индекс первого вхождения подстроки я гг в вы- зывающей строке.
Если искомая подстрока не обнаружена, то возврашдетсл значение -1 Возвращает индекс первого вхождения символа сл в вызы- вающей строке. Поиск начинается с элемента, указываемого по индексу я гаги. Метод возвращает значение -!, если ис- комый символ не обнаружен Возвращает индекс первого вхождения подстроки я гг в вызывающей строке. Поиск начинается с элемента, указы- ваемого по индексу я гаги. Метод возвращает значение -(, если искомая подстрока не обнаружена Возвращает индекс первого 'вхождения символа сл в вызы- вающей строке. Поиск начинается с элемента, указываемого по индексу я гаге, и охватывает число элементов, опреде- ляемых параметром соил с.
Метод возвращает значение -(, если искомый символ не обнаружен Возвращает индекс первого вхождения подстроки я гг в вызывающей строке. Поиск начинается с элемента, указы- ваемого по индексу я саги, и охватывает число элементов, определяемых параметром соил с. Метод возвращает зна- чение -(, если искомая подстрока не обнаружена Возвращает индекс первого вхождения подстроки я г г в вызывающед строке.
Параметр способ определяет кон- кретныя способ выполнения поиска. Метод возвращает зна- чение -1, если искомая подстрока не обнаружена Возвращает индекс первого вхождения подстроки я гг в вызывающей строке. Поиск начинается с элемента, указы- ваемого по индексу ягагг. Параметр способ определяЕт конкретный способ выполнения поиска. Метод возвращает значение -(, если искомая подстрока не обнаружена Возвращает индекс первого вхождения подстроки я гг в вызывающей строке.
Поиск начинается с элемента, ука- зываемого по индексу я гаги, и охватывает число элемен- тов, определяемых параметром соил с. Параметр способ определяет конкретный способ выполнения поиска. Метод возвращает значение -(, если искомая подстрока не обна- ружена Возвращает индекс последнего вхождения символа сл в вы- зывающей строке. Если искомый символ не обнаружен, то возвращается значение -( Возвращает индекс последнего вхождения подстроки я гг в вызывающей строке. Если искомая подстрока не обнару- жена, то возвращается значение -1 Пралалхение тЖл. 22.3 Метод Назначение 760 Часть ((.
Библиотека СЗ риЫ1с Спг Ьаястпк(ехай(спаг сп, ЬаС ягагс) риЫЬС 1пС Ьаяотпбехой(ясгзпа ягг, ЬпС ясегС) риЫЬС 1пС Ьвягтпбехок(спаг сп, апС ягягС, 1пС саипС) риЫЬС Ьпг Ьаястпбехог(яггзпа ягг, 1пС ягегС Ьпг саипС) риЫ1с Спс Ьвястпбехок(ясг1пд ясг, ЯСС1пдсавраг1яоп способ) риЫ1с 1пС Ьаястпбехок(ясгьпц яСг, Ьпс ягагС, ЯСС1пасавраг1яоп способ) риЫ1с апС ьвястпаехОС(ягг1па ясг, Ьпс ясагС, 1пС саипС, ЯСгзпдСовраг1яоп способ) риЫЬС Ьао1 Ягаггяи1СЬ(ясгзпа яСг) риЫ1с Ьоо1 ЯСаггяИЬСЬ(яггзпа яСг, ЯСС1пасаврвг1яап способ) Возвращает индекс последнего вхождения символа сл в части вызывающей строки. Поиск осуществляется в обрат- ном порядке, начиная с элемента, указываемого по индексу ясягс, и заканчивая элементом с нулевым индексом.
Метод возвращает значение -1, если искомый символ не обнаружен Возвращает индекс последнего вхождения подстроки ясг в части вызывающей строки. Поиск осуществляется в обрат- ном порядке, начиная с элемента, указываемого по индексу ясагс, и заканчивая элементом с нулевым индексом. Метод возвращает значение -1, если искомая подстрока не обна- ружена Возвращает индекс последнего вхождения символа сл в части вызывающей строки. Поиск осуществляется в об- ратном порядке, начиная с элемента, указываемого по ин- дексу ясягс, и охватывает число элементов, определяемых параметром саино, Метод возвращает значение -1, если искомый символ не обнаружен Возвращает индекс последнего вхождения подстроки я сг в части вызывающей строки, Поиск осуществляется в об- ратном порядке, начиная с элемента, указываемого по ин- дексу я саго, и охватывает число элементов, определяемых параметром саипс.