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'
right(value,count)
Возвращает крайние справа символы значения.
Поддерживаемые типы значений: 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")