Итак, после вчерашнего апа тИЦ предлагаю перейти к новой теме. Правда – не совсем новой, так как две статьи по ней я уже опубликовал в блоге. То есть – я опять говорю о языке программирования Visual Basic.NET и о методах класса String. Сейчас я публикую уже третью часть из целой серии статей по этой теме. Как я подсчитал, еще будет (кроме этой) две статьи по методам. Просто к каждому методы я прикладываю примеры, вот и получаются довольно объемные статьи. После методов закреплю все практическим занятием, тоже в блоге опишу все.
Пока не перешли к методам – могу посоветовать фирму ООО "Спецшана", занимается поставкой автошин. То есть, там можно купить например грузовые китайские шины - сейчас грузовички у многих людей есть, а шины к ним менять надо. Так что – можете посмотреть продукцию, пригодится.
Сегодня я рассмотрю четыре метода класса String. Это буду IndexOf, LastIndexOf, IndexOfAny и Insert. Приступим:
IndexOf, LastIndexOf:
Эти два метода находят в строке указанную подстроку. Метод IndexOf начинает поиск с начала строки, а метода LastIndexOf – с ее конца. Оба они возвращают целое число, указывающее индекс первого символа подстроки в строке (напомню, что индекс первого символа в строке равен нулю, не забывайте про этот факт).
Так как эти методы перегружены, то синтаксис их вызова может быть различен. Вот несколько различных способов выхова:
Str.IndexOf(строка_для_поиска)
Str.IndexOf(строка_для_поиска, стартовая_позиция)
Str.IndexOf(строка_для_поиска, стартовая_позиция, кол-во_символов_для_просмотра)
Например, рассмотрю на конкретном примере только первый способ вызова, а остальными вы и сами разберетесь:
Dim Str As String = "Исходная строка"
MsgBox(Str.IndexOf("хо").ToString)
MsgBox(Str.LastIndexOf("ро").ToString)
MsgBox(Str.IndexOf("ис").ToString)
Результатом работы будет три сообщения: 2, 11 и -1. 2 и 11 – с этих символов начинаются найденные подстроки. А вот подстроки «ис» не было найдено. Почему? Дочитайте описание этих методов до конца – и все поймете.
Можно искать не только строки, но и символы и массивы символов. Просто нужно подать вместо «Строки_для_поиска» то, что вам нужно.
Оба метода выполняют поиск с учетом регистра и национальной кодировки. Для выполнения поиска без учета регистра надо преобразовать строку и искомую подстроку в верхний регистр (с помощью метода ToUpper).
IndexOfAny:
Метод принимает в качестве аргумента массив символов и возвращает первое вхождение в строку любого символа этого массива:
Str.IndexOfAny(MasChars)
Тут MasChars – это массив символов. Метод IndexOfAny ищет в строке первый символ из массива. Если такой символ найден, метод возвращает его индекс в строке, а если нет – ищет второй символ. Этот процесс повторяется до тех пор, пока не будет найден в строке очередной символ массива или пока все символы не будут просмотрены. Например, если необходимо найти позицию первого разделителя в строке, необходимо вызвать метод IndexOfAny и передать ему следующий массив:
Dim Str As String = "Исходная строка"
Dim MasChars() As Char = {CChar(" "), CChar("."), CChar(","), CChar(";")}
MsgBox(Str.IndexOfAny(MasChars).ToString)
Str.IndexOfAny(MasChars)
В результате будет выведено значение 8 – это индекс первого пробела в строке (напомню еще раз, что первый символ в строке имеет индекс 0).
То же самое можно произвести и с поиском цифр (достаточно лишь передать во входной массив цифры).
Insert:
Метод инсерт вставляет один или несколько символов в указанное место строки и возвращает результирующую строку. Синтаксис следующий:
Str.Insert(позиция, подстрока)
То есть мы должны указать, в какую позицию вставлять подстроку. Давайте посмотрим на следующий небольшой пример:
Dim Str As String = "Исходная строка"
MsgBox(Str.Insert(5, "ущ"))
В результате будет выведено «Исходущная строка». Все просто.
Сегодня получилась довольно объемная статья. Но – надо уже и заканчивать. Как я сказал в начале статьи – будет еще две части про методы класса String, тоже с примерами. Может быть – сегодня еще статью опубликую (но не о VB.NET).
Комментариев нет:
Отправить комментарий