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

Для обнаружения последнего вхождения символа или строки в исходной строке служит метод Last IndexOf (). И для этого метода определено несколько перегружаемых форм. Ниже приведена одна из форм для поиска последнего вхождения символа в вызывающей строке.

public int LastlndexOf(char value)

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

Ниже приведены еще две формы метода LastlndexOf (), позволяющие искать последнее вхождение одной строки в другой.

public int LastlndexOf(string value)

public int LastlndexOf(string value, StringComparison comparisonType)

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

В классе String предоставляются еще два интересных метода поиска в строке: IndexOf Any () и LastlndexOf Any (). Оба метода обнаруживают первый символ, совпадающий с любым набором символов. Ниже приведены простейшие формы этих методов.

public int IndexOfAny(char[] anyOf) public int LastlndexOfAny(char[] anyOf)

Метод IndexOf Any () возвращает индекс первого вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке, а метод LastlndexOfAny () — индекс последнего вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Если совпадение символов не обнаружено, то в обоих случаях возвращается значение -1. Кроме того, в обоих рассматриваемых здесь методах осуществляется порядковый поиск.

При обработке символьных строк нередко оказывается полезно знать, начинается ли строка заданной подстрокой или же оканчивается ею. Для этой цели служат методы StartsWith () и EndsWith (). Ниже приведены их простейшие формы.

public bool StartsWith(string value) public bool EndsWith(string value)

Метод StartsWith () возвращает логическое значение true, если вызывающая строка начинается с подстроки, переданной ему в качестве аргумента value. А метод EndsWith () возвращает логическое значение true, если вызывающая строка оканчивается подстрокой, переданной ему в качестве аргумента value. В противном случае оба метода возвращают логическое значение false.

В обоих рассматриваемых здесь методах поиск осуществляется с учетом культурной среды. Для того чтобы указать конкретный способ поиска подстроки, можно воспользоваться приведенными ниже вариантами этих методов с дополнительным параметром типа StringComparison.

public bool StartsWith(string value, StringComparison comparisonType) public bool EndsWith(string value, StringComparison comparisonType)

Оба варианта рассматриваемых здесь методов поиска действуют таким же образом, как и предыдущие их варианты. Но в то же время они позволяют явно указать конкретный способ поиска.

В приведенном ниже примере программы демонстрируется применение нескольких методов поиска в строке.

// Продемонстрировать поиск в строке.

using System;

class StringSearchDemo { static void Main() {

string str = 'C# обладает эффективными средствами обработки строк.'; int idx;

Console.WriteLine('Строка str: ' + str); idx = str.IndexOf('o');

Console.WriteLine('Индекс первого вхождения символа 'o': ' + idx); idx = str.LastlndexOf ('о');

Console.WriteLine('Индекс последнего вхождения символа 'o': ' + idx); idx = str.IndexOf('ми', StringComparison.Ordinal);

Console.WriteLine('Индекс первого вхождения подстроки 'ми': ' + idx); idx = str.LastlndexOf ('ми', StringComparison.Ordinal);

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

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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату