Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_6.doc
Скачиваний:
134
Добавлен:
01.12.2018
Размер:
3.77 Mб
Скачать

6.2. Поиск заданной подстроки в тексте.

InStr:

Функция InStr возвращает номер первого символа в строке, с которого начинается вхождение заданной подстроки в анализируемую строку. Её синтаксис:

<№ позиции 1-го символа> = InStr([<начальная позиция поиска>],

<исходная строка>, <искомая подстрока> [,<тип сравнения>])

С помощью первого необязательного параметра можно указать начальную позицию в строке, с которой нужно начинать поиск. Если этот параметр отсутствует, то поиск будет осуществляться во всей анализируемой строке. Второй необязательный параметр определяет, будет ли выполняться поиск без учёта или с учётом регистра символов. В последнем случае одноимённые строчные и прописные буквы воспринимаются как разные. Параметр <тип сравнения> может принимать значения 0 или 1. Если он отсутствует, то по умолчанию он принимается равным нулю. Это соответствует поиску с учётом регистра букв. Если указать значение 1, то поиск будет выполняться без учёта регистра букв.

Пример. Пусть n = InStr(5, “преобразование”, “е”). Функция InStr вернёт в переменную n значение 14, хотя буква “е” в строке встречается в третьей позиции. Причина в том, что мы заказали поиск буквы “е” с пятой позиции. Функция InStr осуществляет поиск подстроки в строке в направлении от начала строки к её концу. Поиск в обратном направлении осуществляет функция InStrRev. Её синтаксис:

<№ позиции 1–го символа> = InStrRev(<исходная строка>, <искомая

подстрока> [,<начальная позиция> [,<тип сравнения>]]).

Номер позиции первого символа отсчитывается от начала строки, хотя поиск ведётся в обратном направлении.

6.3. Выборка части текста.

Left, Right:

Функция Left возвращает указанное количество символов с начала строки, а Right с конца строки. Их синтаксис:

<выделенная подстрока> = Left$(<исходная строка>, <число

символов>)

Аналогично и для функции Right.

Функция Mid:

Функция Mid имеет два обязательных параметра и один необязательный и служит для выделения символов из произвольной части строки. Её синтаксис:

<выделяемая подстрока> = Mid$(<исходная строка>, <начальная

позиция> [,<число символов]).

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

Пример. Пусть s = “преобразование строк”.

Тогда s1 = Mid$(s, 12, 6) вернет: s1 = “ние ст”.

Кроме функции Mid существует оператор с тем же именем.

6.4. Замена символов в тексте.

Оператор Mid:

Замена части исходной строки заданной последовательностью символов производится оператором Mid. Его синтаксис:

Mid (<исходная строка>, <начальная позиция> [, <число

символов>]) = <заменяющая подстрока>.

Параметр <исходная строка> может быть только строковой переменной. Литералы и строковые функции использовать нельзя! Литерал – это последовательность символов, обрамленная двойными кавычками. Параметр <начальная позиция> определяет номер первого символа в исходной строке, с которого начинается замена. Параметр <число символов> определяет количество заменяемых символов в исходной строке. В правой части оператора присваивания указывается параметр <заменяющая подстрока>. Этот параметр может быть литералом, строковой переменной или строковой функцией. В результате выполнения оператора Mid длина исходной строки не меняется. Если заменяющая подстрока не помещается в исходной строке, она усекается по оставшейся длине исходной строки.

Пример. Пусть s = “сМешанНый РегИсТр”. Приведем сначала все к строчным буквам:

s = LCase$(s)

Применим оператор Mid:

Mid(s,1) = UCase$(Left$(s, 1))

В результате получим:

s = “смешанный регистр”.

Функция Replace:

Поиск и замену символов в строке осуществляет также функция Replace. Её синтаксис:

<преобразованная строка> = Replace (<исходная строка>, <заменяемая подстрока>, <заменяющая подстрока> [, <начальная пози-

ция поиска> [, <количество замен> [, <тип сравнения>]]]).

Эта функция заменяет собой сразу две функции: Mid и InStr.

Функция возвращает часть исходной строки, начиная с символа, стоящего в позиции, определенной параметром “начальная позиция поиска”.

Начиная с этой позиции заменяется заменяющей подстрокой такое количество вхождений заменяемой подстроки в исходном тексте, какое задано параметром “количество замен”. Замена производится без учета регисра символов. Параметр “тип сравнения” определяет, будет ли сравнение производиться в соответствии с установленной опцией Option Compare, бинарное сравнение, текстовое или сравнение, основанное на информации в Вашей базе данных. Для текстового сравнения этот параметр должен быть равен 1.

Пример. Пусть в строке s есть символы перевода строки, Следующий код заменит их на пробелы:

s = Replace(s, vbCr,“ ”),

здесь константа vbCr – это символ перевода строки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]