Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Строка как объект. Свойства и методы класса String



Строка – это не просто строка. Это объект. Объект класса Stringпространства имен System. Здесь та же ситуация, что и с массивами (15.6). Мы можем и не подозревать, что строка – объект, и тем не менее, успешно со строками работать.

Не путайте класс String с модулем Strings. Любая переменная (или литерал) строкового типа является специфическим экземпляром класса String, и чтобы воспользоваться его свойством или методом, вы просто пишете после имени переменной или литерала точку и за ней название свойства или метода, как мы делали это раньше.

Итак, строка обладает свойствами и методами своего класса. Разберем их.

Прежде всего, строка представляет собой последовательность символов, пронумерованных, начиная с 0. Вы можете легко обращаться к каждому символу по его номеру (индексу):

Debug.WriteLine("Гастроном".Chars(3)) 'Символ с индексом 3 в строке (т)

'Ищется первое вхождение символа "о" в строку и находится его индекс (5):

Debug.WriteLine("Гастроном".IndexOf("о"))

'Ищется последнее вхождение символа "о" в строку и находится его индекс (7):

Debug.WriteLine("Гастроном".LastIndexOf("о"))

Debug.WriteLine("Гастроном".Length) 'Длина строки (9)

Вот что напечатает этот фрагмент:

т

Строкой легко заполнить символьный массив:

Dim Буквы() As Char 'Объявляем массив символов

Буквы = "Гастроном".ToCharArray'Заполняем его буквами слова "Гастроном"

Debug.WriteLine(Буквы(6)) 'Печатается буква н

Вот еще несколько методов:

'Часть строки длиной 4, начиная с символа с индексом 3 (трон):

Debug.WriteLine("Гастроном".Substring(3, 4))

Debug.WriteLine("Гастроном".StartsWith("Га")) 'Правда ли, что "Гастроном" начинается с "Га"

Debug.WriteLine("Гастроном".EndsWith("ном")) 'Правда ли, что "Гастроном" заканчивается на "ном"

Вот что напечатает этот фрагмент:

трон

True

True

Вот методы, видоизменяющие строку:

Debug.WriteLine("Гастроном".Remove(2, 6)) 'Убрать из строки 6 символов, начиная с номера 2

'Вставить в строку перед символом номер 2 другую строку ("лактический а"):

Debug.WriteLine("Гастроном".Insert(2, "лактический а"))

Debug.WriteLine("Победа".Replace("бед", "годк")) 'Заменить в строке одну часть ("бед") на другую ("годк")

Вот что напечатает этот фрагмент:

Гам

Галактический астроном

Погодка

Если строка состоит из частей, разделенных пробелами, запятыми или другими символами, этими частями легко можно заполнить массив строк:

Dim Предложение As String = "Маша ела кашу"

Dim Слова_в_предложении() As String 'Объявляем массив строк

'Заполняем его частями строки Предложение, разделенными пробелами (" "):

Слова_в_предложении = Предложение.Split(" ")

 

Dim Список_покупок As String = "хлеб,молоко,кофе"

Dim Покупки() As String 'Объявляем массив строк

'Заполняем его частями строки Список_покупок, разделенными запятыми (","):

Покупки = Список_покупок.Split(",")

После выполнения этого фрагмента массив Слова_в_предложении будет состоять из строк "Маша", "ела", "кашу", а массив Покупки будет состоять из строк "хлеб", "молоко", "кофе".

Кроме рассмотренных методов у класса String есть еще методы, которые дублируют работу функций модуля Strings.

Задание 1.

Определите без компьютера, что напечатает оператор

Debug.WriteLine(ChrW(AscW("Ю") + 1))

 

Задание 2.

«Детская шифровка». Среди детей встречается игра, заключающаяся в зашифровке своей речи «для секретности» за счет вставки в произносимые слова какого-нибудь звукосочетания, например, «быр». Тогда вместо слова «корова» будет произнесено «кобырробырвабыр». Составьте программу, которая распечатывает любую строку из 6 букв, после каждой второй буквы вставляя «быр». Если получилось, то решите эту задачу для строки произвольной длины.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.