КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Поиск текста в строке
Изменение регистра символов в строке Для изменения регистра символов в строке предусмотрены две специальные функции: UCase () и LCase (). Функция UCase () возвращает переданную ей в качестве аргумента строку, все символы которой преобразованы в верхний регистр. Функция LCase () выполняет обратную задачу, конвертирует символы исходной строки в нижний регистр. Описываемые функции изменения регистра символов оказываются очень полезными при работе с командами, введенными пользователем с клавиатуры. В этом случае в программе нужно сравнить полученную строку с набором ключевых слов, которые обычно бывают набраны только прописными буквами. Таким образом, если преобразовать символы введенной команды в верхний регистр, то операция сравнения будет всегда правильно выполняться. Синтаксис этих команд следующий: Строка2 = UCase (Строка1); Строка3 = LCase (Строка1). Где Строка1 может быть набрана как прописными так и строчными буквами, Строка2 – результат работы функции UСase – строка, содержащая только прописные буквы, а Строка3 – результат работы функции LСase – строка, содержащая только строчные буквы. Например: UCase ("Visual Basic") возвращает " Visual Basic "; LCase ("Visual Basic") возвращает " visual basic "
При работе со строками зачастую нужно выяснить, не встречается ли заданное слово, фраза или любая другая последовательность символов в некоторой строке, и если — да. то в каком именно месте. В Visual Basic предусмотрены средства поиска одной строки в другой. С их помощью можно создавать программы для поиска нужных слов в тексте, а также для их последующей замены другими словами. Например, может понадобиться в тексте какого-нибудь документа заменить слово текст словом строка. С помощью функции InStr () можно выполнять поиск в строке как отдельного символа, так и целой группы символов. У описываемой функции есть два обязательных и два необязательных параметра. К обязательным параметрам относятся строка, в которой выполняется поиск, и строка. содержащая искомые символы. Если заданная последовательность символов найдена, функция InStr () возвращает номер первого совпадающего символа в исходной строке, начиная с единицы. Если последовательность символов не найдена, функция InStr () возвращает нулевое значение. В простейшем случае, синтаксис функции InStr () выглядит следующим образом: НомерПервогоСимвола = InStr (ИсходнаяСтрока, ИскомаяСтрока) Например, в результате выполнения строки кода Print InStr('Я встречу вас во вторник", "вас") будет напечатано число 11, поскольку слово вас расположено в исходной строке с 11 позиции от начала. С помощью первого (необязательного) параметра функции InStr () можно указать начальную позицию в исходной строке, с которой нужно начинать поиск. Данный параметр должен быть положительным целым числом. Если начальная позиция больше длины строки, функция InStr () возвращает нулевое значение. В данном случае, синтаксис функции InStr () выглядит следующим образом: НомерПервогоСимвола = InStr (НачальнаяПозиция, ИсходнаяСтрока, ИскомаяСтрока) Например, в результате выполнения строки кода Print Instr(7,"KTO не работает, тот ест", "е") будет напечатано число 14, несмотря на то, что первая буква е встречается в данной фразе на 6-й позиции. Причина состоит в том. что мы заказали поиск символа е в строке, начиная с 7-й позиции. Еще один необязательный параметр определяет, будет ли выполняться поиск без учета или с учетом регистра букв. В последнем случае одноименные строчные и прописные буквы будут восприниматься как совершенно разные символы. Если установить значение данного параметра равным 0 (принято по умолчанию), будет выполнен поиск с учетом регистра букв. Чтобы выполнить поиск без учета регистра букв, присвойте данному параметру значение 1. Синтаксис функции InStr (), для выполнения поиска без учета регистра букв выглядит следующим образом: НомерПервогоСимвола = InStr(На чальнаяПозиция, ИсходнаяСтрока, ИскомаяСтрока, 1) С помощью последнего необязательного параметра можно найти все вхождения заданной цепочки символов в исходной строке. Для выполнения поиска в обратном направлении в Visual Basic предусмотрена еще одна функция, которая называется InStrRev(). Принцип ее работы совпадает с функцией InStr (), только синтаксис немного отличается: InStrRev (Исходная_Строка, Искомая_Строка [, Начальная_Позиция ]) Основное отличие состоит в том, что параметр Начальная_Позиция, указывающий начальную позицию в исходной строке, с которой будет начат поиск, располагается после самих строк, а не перед ними, как у функции InStr(). Пример: Вывести номера позиций на которых встречается буква «к». Private Sub Command1_Click() Text1.Text = "Обычное праздничное блюдо на пикнике - шашлык. Однако можно придумать и что-нибудь оригинальное (запечённую в углях рыбу или мясо, жаренную на вертеле индейку)." S = Text1 N = InStr(S, "к") N2 = InStr(N + 1, S, "к") N3 = InStr(N2 + 1, S, "к") N4 = InStr(N3 + 1, S, "к") Text2.Text = N & ", " & N2 & ", " & N3 & ", " & N4 End Sub
Дата добавления: 2014-01-06; Просмотров: 378; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |