Урок 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 120
list = list & chr(i) & vbCrLf
next
 
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)             '9
index_2 = InStr(3,my_str,"пример",vbBinaryCompare)          '0
index_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)                   '0
index_2 = InStrRev(my_str,"пример",3,vbVinaryCompare)   '0
index_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, ", ")
 
for each 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

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

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