Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB.doc
Скачиваний:
23
Добавлен:
12.11.2018
Размер:
2.66 Mб
Скачать
    1. Операции над строками

Выражения, в которых операндами служат строковые данные, называются строковыми. Над строковыми данными допустимы операции сцепления и операции отношения.

Операция сцепления (конкатенации) «+» применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и строковые переменные.

Например:

”Бейсик, ” + ”Паскаль, ” + ”Си ” + ”–” + ”языки программирования”.

В результате операции сцепления «+» получится строка:

”Бейсик, Паскаль, Си – языки программирования”

Операции отношения =, <, >, <=, >=, <> позволяют выполнить сравнение двух строк, в результате чего получается логическое значение True или False. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы.

Например:

Выражение

Результат

”True1” > ”True2”

False

”Student” > ”STUDENT”

True

”Студент” <> ” Студент”

True

”Группа” = ”Группа”

True

Все остальные действия над строками и символами реализуются с помощью встроенных процедур и функций.

    1. Функции, предназначенные для работы со строками

Решение подавляющего большинства задач на обработку строковых переменных требует владения встроенными функциями:

Функция (S- строка, X- число)

Назначение

Len(S)

Возвращает количество символов в строке S

Fio=”Иванов”: l=Len(Fio)

Результат: l=6

Left(S,k)

Возвращает k символов с начала строки

Fio=”Иванов”: t=Left(Fio,4)

Результат: t=”Иван”

Right(S,k)

Возвращает k символов с конца строки

Fio=”Иванов”: T=Right(Fio,2)

Результат: T=”ов”

Mid(S,Pos,k)

Возвращает k символов из переменной S, начиная с позиции Pos, включительно

Fio=”Иванов”: T=Mid(Fio,2,4)

Результат: T=”вано”

Эта функция часто используется для выдаления одного символа из строки: Mid(S,i,1)

Val(S)

Преобразует строку S в десятичное число

p=”-243.65”: S=Val(p)+100

Результат: S=-143.65

CInt(S)

Преобразует строку S в целое число

p=”-243”: S=Val(p)+100

Результат: S=-143

Str(X)

Преобразует число X в строку символов с учетом знака. Если число положительное, вместо знака ставится пробел.

a=123.45: b=-678: S=Str(b)+Str(a)

Результат: S=”-678 123.45”

СStr(X)

Преобразует числовое выражение X в строку символов.

S=СStr(4-7/3)

Результат: S=”4-7/3”

Chr(N)

Возвращает символ, соответствующий числовому коду в таблице символов

For i=65 to 90 Print Chr(i)

Результат: Вывод заглавных букв латинского алфавита

Asc(S)

Определяет числовой код первого символа в строке S:

Print Asc(”123”):

Print Asc(” 1a2m”)

Print Asc(”ABC”)

Результат: 49 32 65

InStr(n,S,S1)

Начиная с позиции n, определяет позицию первого появления подстроки S1 в строке S. Если такой подстроки нет, то возвращаемым значением функции будет ноль.

S=”кукуруза”: S1=”ку”

Print Instr(1,x,y);

Print Instr(2,x,y);

Результат: 1 3

InStrRev(n,S,S1)

Определяет позицию первого появления подстроки S1 в строке S справа налево (начиная с конца строки)

LTrim(S)

Удаляет пробелы, расположенные в начале строки

RTrim(S)

Удаляет пробелы, расположенные в конце строки

TRim(S)

Удаляет пробелы, расположенные в начале и в конце строки

LCase(S)

Изменяет регистр букв исходной строки S на нижний

UCase(x)

Изменяет регистр букв исходной строки S на верхний

StrConv(S,p)

Изменяет регистр букв строки S, в зависимости от значения параметра p

p =1, верхний регистр;

p =2, нижний регистр;

p =3, только первая заглавная

StrReverce(x)

Изменяет порядок следования в строке на обратный

Spase(n)

Возвращает строку, состоящую из n пробелов

Replase

(S,S1,S2,n,k)

Заменяет в строке S подстроку S1 на подстроку S2, начиная с позиции n.

k - количество замен, если значение k не указано, то заменяются все вхождения S1 в S.

Эта функция используется также для удаления подстрок:

s1=”121113”

Print Replace(s1,”1”,””) ’Удаляется

’подстрока ”1”

Результат: 23

Строку символов всегда можно преобразовать в одномерный массив отдельных символов, расщепив ее при помощи функции Mid или Split. После этого со строкой можно работать точно так же как и с одномерным массивом. После обработки массива, его элементы следует обратно слить в строку при помощи операции сцепления.