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

Все перечисленные здесь функции поддерживаются в:

Функции перечислены без дополнительной информации. Нажмите на функцию, чтобы увидеть полные сведения.

Функция Описание
ascii ASCII-код крайнего левого символа значения.
bitlength Длина значения в битах.
bytelength Длина значения в байтах.
char Возвращает символ, интерпретируя значение как ASCII-код.
concat Строка, полученная в результате объединения значений ссылочных элементов данных или константных значений.
insert Вставляет указанные символы или пробелы в строку символов, начиная с указанной позиции в строке.
jsonpath Возвращает результат JSONPath.
left Возвращает крайние левые символы значения.
length Длина значения в символах.
ltrim Удаляет указанные символы из начала строки.
mid Возвращает подстроку из N символов, начиная с позиции символа, указанной в 'start'.
repeat Повторяет строку.
replace Находит шаблон в значении и заменяет его на replacement.
right Возвращает крайние правые символы значения.
rtrim Удаляет указанные символы из конца строки.
trim Удаляет указанные символы из начала и конца строки.
xmlxpath Возвращает результат XML XPath.

Подробности о функциях

Некоторые общие замечания о параметрах функций:

  • Параметры функций разделяются запятой
  • В качестве параметров допускаются выражения
  • Строковые параметры должны быть заключены в двойные кавычки; в противном случае они могут быть неверно интерпретированы
  • Необязательные параметры функций (или части параметров) обозначаются < >
ascii(value)

ASCII-код крайнего слева символа значения.
Поддерживаемые типы значений: String, Text, Log.

Параметр:

  • value — значение для проверки

Например, значение вида 'Abc' вернет '65' (ASCII-код для 'A').

Пример:

ascii(last(/host/key))
bitlength(value)

Длина value в битах.
Поддерживаемые типы значений: String, Text, Log, Integer.

Параметр:

  • value — проверяемое значение

Пример:

bitlength(last(/host/key))
bytelength(value)

Длина value в байтах.
Поддерживаемые типы значений: String, Text, Log, Integer.

Параметр:

  • value — проверяемое значение

Пример:

bytelength(last(/host/key))
char(value)

Возвращает символ, интерпретируя значение как ASCII-код.
Поддерживаемые типы значений: Integer.

Параметр:

  • value — значение для проверки

Значение должно находиться в диапазоне 0-255. Например, значение '65' (интерпретируемое как ASCII-код) вернёт 'A'.

Пример:

char(last(/host/key))
concat(<value1>,<value2>,...)

Строка, полученная в результате объединения значений ссылочных элементов данных или константных значений.
Поддерживаемые типы значений: String, Text, Log, Float, Integer.

Параметр:

  • valueX — значение, возвращаемое одной из функций истории, или константное значение (строка, целое число или число с плавающей точкой). Должно содержать как минимум два параметра.

Например, значение 'Zab', объединённое с 'bix' (константной строкой), вернёт 'Zabbix'.

Примеры:

concat(last(/host/key),"bix")
concat("1 min: ",last(/host/system.cpu.load[all,avg1]),", 15 min: ",last(/host/system.cpu.load[all,avg15]))
insert(value,start,length,replacement)

Вставляет указанные символы или пробелы в строку символов, начиная с указанной позиции в строке.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • start — начальная позиция;
  • length — позиции для замены;
  • replacement — строка замены.

Например, значение вида 'Zabbbix' будет заменено на 'Zabbix', если 'bb' (начальная позиция 3, количество заменяемых позиций 2) заменить на 'b'.

Пример:

insert(last(/host/key),3,2,"b")
jsonpath(value,path,<default>)

Возвращает результат JSONPath.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — проверяемое значение;
  • path — путь (должен быть заключён в кавычки);
  • default — необязательное резервное значение, если запрос JSONPath не возвращает данных. Обратите внимание, что при других ошибках возвращается сбой (например, "unsupported construct").

Пример:

jsonpath(last(/host/proc.get[zabbix_agentd,,,summary]),"$..size")
left(value,count)

Возвращает крайние слева символы значения.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • count — количество возвращаемых символов.

Например, можно вернуть 'Zab' из 'Zabbix', указав 3 крайних слева символа для возврата. См. также right().

Пример:

left(last(/host/key),3) #возвращает три крайних слева символа
length(value)

Длина value в символах.
Поддерживаемые типы значений: String, Text, Log.

Параметр:

  • value — значение для проверки.

Примеры:

length(last(/host/key)) #длина последнего значения
length(last(/host/key,#3)) #длина третьего по давности значения
length(last(/host/key,#1:now-1d)) #длина самого последнего значения на один день назад
ltrim(value,<chars>)

Удаляет указанные символы из начала строки.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • chars (необязательно) — указывает символы для удаления.

По умолчанию из начала строки удаляются пробельные символы (если необязательные символы не указаны). См. также: rtrim(), trim().

Примеры:

ltrim(last(/host/key)) #удалить пробельные символы из начала строки
ltrim(last(/host/key),"Z") #удалить все символы 'Z' из начала строки
ltrim(last(/host/key)," Z") #удалить все пробелы и символы 'Z' из начала строки
mid(value,start,length)

Возвращает подстроку из N символов, начиная с позиции символа, указанной в параметре 'start'.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value - проверяемое значение;
  • start - начальная позиция подстроки;
  • length - количество позиций, возвращаемых в подстроке.

Например, можно вернуть 'abbi' из значения 'Zabbix', если начальная позиция равна 2, а количество возвращаемых позиций — 4.

Пример:

mid(last(/host/key),2,4)="abbi"
repeat(value,count)

Повторяет строку.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • count — количество повторений.

Пример:

repeat(last(/host/key),2) #повторить значение два раза
replace(value,pattern,replacement)

Найдите шаблон в значении и замените его на replacement. Все вхождения шаблона будут заменены.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value - значение для проверки;
  • pattern - шаблон для поиска;
  • replacement - строка, на которую заменяется шаблон.

Пример:

replace(last(/host/key),"ibb","abb") #заменить все 'ibb' на 'abb'

Возвращает крайние справа символы значения.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • count — количество символов для возврата.

Например, можно вернуть 'bix' из 'Zabbix', указав 3 крайних справа символа для возврата. См. также left().

Пример:

right(last(/host/key),3) #возвращает три крайних справа символа
rtrim(value,<chars>)

Удаляет указанные символы с конца строки.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • chars (необязательно) — указывает символы для удаления.

По умолчанию справа удаляются пробельные символы (если необязательные символы не указаны). См. также: ltrim(), trim().

Примеры:

rtrim(last(/host/key)) #удалить пробельные символы с конца строки
rtrim(last(/host/key),"x") #удалить все символы 'x' с конца строки
rtrim(last(/host/key),"x ") #удалить все символы 'x' и пробелы с конца строки
trim(value,<chars>)

Удаляет указанные символы из начала и конца строки.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • chars (необязательно) — указывает символы для удаления.

По умолчанию пробельные символы удаляются с обеих сторон (если необязательные символы не указаны). См. также: ltrim(), rtrim().

Примеры:

trim(last(/host/key)) #удалить пробельные символы из начала и конца строки
trim(last(/host/key),"_") #удалить '_' из начала и конца строки
xmlxpath(value,path,<default>)

Возвращает результат XML XPath.
Поддерживаемые типы значений: String, Text, Log.

Параметры:

  • value — значение для проверки;
  • path — путь (должен быть заключён в кавычки);
  • default — необязательное резервное значение, если запрос XML XPath возвращает пустой набор узлов. Оно не будет возвращено, если пустой результат не является набором узлов (то есть пустой строкой). При других ошибках возвращается ошибка (например, "invalid expression").

Пример:

xmlxpath(last(/host/xml_result),"/response/error/status")

См. все поддерживаемые функции.