В этой статье рассмотрены строковые функции 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, если str1
'********************************** ' Сравнение ' 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 |
Благодарю всех за внимание, надеюсь, материал статьи был для вас полезным.