Урок 12 по VBScript: Строковые функции vbs

Урок 12 по VBScript: Строковые функции vbs Программирование на VBSCRIPT

В этой статье рассмотрены строковые функции vbs сценариев, которые могут пригодиться при написании собственного текстового редактора или, просто, при работе со строковыми значениями и с символами. Для каждой функции я написал vbs сценарий, и дал ссылку на архив для скачивания.

Строковые функции vbs

Asc(str) – С помощью этой строковой функции vbs можно получить ASCII-код первого символа в строке str. Параметр str может быть пробелом или содержать только один символ.

'**********************************' Получение кода символа' asc.vbs'**********************************dim a, b, c a = asc(" ")b = asc("string")c = asc("A") MsgBox a & vbCrLf & b & vbCrLf & c

Chr(code) – Данная vbs строковая функция позволяет получить символ, указав в качестве параметра его ASCII-код

'**********************************' Получение символа по его коду' chr.vbs'**********************************dim i, list for i=100 to 120list = list & chr(i) & vbCrLfnext MsgBox list

InStr([start,] str1, str2 [, compare]) – позволяет определить позицию, с которой начинается искомая последовательность символов в заданной строчке.

Start – данный аргумент является числом, и задает позицию, начиная с которой надо начать поиск. Если аргумент отсутствует, то поиск производится с начала.
string1 – собственно, та строка, в которой надо произвести поиск.
string2 – тут мы задаем те символы, которые ищем.
compare – данный параметр может принимать значения vbBinaryCompare (учет регистра, значение 0) и vbTextCompare (без учета регистра, значение 1).

'**********************************' Поиск в строке' InStr.vbs'**********************************dim my_str, index_1, index_2, index_3 my_str = "это 3-й ПРИМЕР сценария на vbs"index_1 = InStr(1,my_str,"пример",vbTextCompare)             '9index_2 = InStr(3,my_str,"пример",vbBinaryCompare)          '0index_3 = InStr(15,my_str,"пример",vbTextCompare)           '0 MsgBox index_1 & vbCrLf & index_2 & vbCrLf & index_3

InStrRev(strl, str2[, start [, compare]] ) – Аналогично работе предыдущей строковой vbs функции, но поиск идет в обратном порядке.

'**********************************' Поиск в строке' InStrRev.vbs'**********************************dim my_str, index_1, index_2, index_3 my_str = "это 3-й ПРИМЕР сценария на vbs"index_1 = InStrRev(my_str,"пример",1,vbTextCompare)                   '0index_2 = InStrRev(my_str,"пример",3,vbVinaryCompare)   '0index_3 = InStrRev(my_str,"пример",15,vbTextCompare)     '9 MsgBox index_1 & vbCrLf & index_2 & vbCrLf & index_3

Join(list[, delim]) – позволяет объединить все значения элементов массива в одну строку. Тут list – одномерный массив, а delim – необязательный параметр, который задает символ разделитель.

'**********************************' Работа с массивом' Join.vbs'**********************************dim my_str, index_1, index_2, index_3, my_arr my_arr = Array(1, "a","b","c",3)my_str = Join(my_arr, "--") MsgBox my_str

LCase(str) – Позволяет преобразовать все символы к нижнему регистру.

'**********************************' Преобразование к нижнему регистру' LCase.vbs'**********************************dim my_str, my_str_L my_str = "ВЕРХНИЙ РЕГИСТР"my_str_L = LCase(my_str) MsgBox my_str_L

UCase(str) — Позволяет преобразовать все символы к верхнему регистру.

'**********************************' Преобразование к верхнему регистру' UCase.vbs'**********************************dim my_str, my_str_U my_str = "нижний регистр"my_str_U = UCase(my_str) MsgBox my_str_U

Left(str, len) – Вернёт заданное количество (len) знаков с начала строки str.

'**********************************' Вырезка слева' left.vbs'**********************************dim my_str, my_str_result my_str = "нижний регистр"my_str_result = Left(my_str, 4) MsgBox my_str_result

Right(str, len) — Вернёт заданное количество (len) знаков с конца строки str.

'**********************************' Вырезка справа' right.vbs'**********************************dim my_str, my_str_result my_str = "нижний регистр"my_str_result = Right(my_str, 4) MsgBox my_str_result

Len(str) – Использование этой строковой функции vbs позволяет определить количество знаков в str.

'**********************************' Длина строки' len.vbs'**********************************dim my_str my_str = "нижний регистр" MsgBox len(my_str)       '14 знаков

LTrim(str) — удаление пробелов в начале.

RTrim(str) — удаление пробелов в конце.

Trim(str) – удаление пробелов в начале и в конце.

Скачать архив с примерами

'**********************************' Удаление пробелов' trim.vbs'**********************************dim my_str my_str = " нижний регистр " MsgBox LTrim(my_str) MsgBox RTrim(my_str) MsgBox Trim(my_str)

Space(x) — Просто формирует строчку из пробелов количеством x.

'**********************************' Формирование пробелов' space.vbs'**********************************dim my_str_1, my_str_2, my_space my_str_1 = "первый"my_str_2 = "второй"my_space = space(10) MsgBox my_str_1 & my_space & my_str_2

String(number, char) – Формирование строчки, которая состоит из заданного количества (number) определенных символов (char).

'**********************************' Формирование строчки' string.vbs'**********************************dim my_str my_str = string(10,"a") MsgBox my_str

Mid(str, start [, len]) – Формирование из строчки str подстрочки, которая будет начинаться с позиции start, параметр len позволяет указать длину. Строковые функции vbs.

'**********************************' Извлечение подстроки' mid.vbs'**********************************dim my_str my_str = "первый второй и третий" MsgBox mid(my_str, 4,8)

Replace(str, find, replacewith [, start[, count[, compare]]]) – Позволяет производит замену в строке.

str – начальная строка.
find – подстрока, которую мы ищем.
replacewith – подставляемое значение.
start – начало поиска.
count– количество замен, по умолчанию стоит -1, что говорит о полной замене.
compare – параметр принимает значения vbBinaryCompare (учет регистра, значение 0) и vbTextCompare (без учета регистра, значение 1).

'**********************************' Замена' replace.vbs'**********************************dim my_str my_str = "первый четвертый и третий" MsgBox replace(my_str, "четвертый", "второй")

Split(str[, delim[, count[, compare]]]) – Производит парсинг строки на подстроки и заполняет ими возвращаемый массив.

str – строка для обработки.
delim – разделитель (по умолчанию — пробел).
count – количество, по умолчанию – значение -1 (все элементы).
compare — параметр принимает значения vbBinaryCompare (учет регистра, значение 0) и vbTextCompare (без учета регистра, значение 1).

'**********************************' Парсинг' split.vbs'**********************************dim my_str, my_arr, index, list my_str = "один, два, три, четыри, пять"my_arr = split(my_str, ", "foreach index in my_arr     list = list & index & vbCrLf next MsgBox list

StrComp(str1, str2[, compare]) – функция сравнения str1 строки и строки str2. Если они равны, возвращается 0, если str1str2 – возвращается 1. Параметр compare принимает значения vbBinaryCompare (учет регистра, значение 0) и vbTextCompare (без учёта регистра, значение 1). Строковые функции vbs.

'**********************************' Сравнение' StrComp.vbs'**********************************dim my_str_1, my_str_2, result my_str_1 = "однажды"my_str_2 = "однажды" result = StrComp(my_str_1, my_str_2) MsgBox result

Благодарю всех за внимание, надеюсь, материал статьи был для вас полезным.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий