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

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

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

  • параметры функций разделяются запятыми
  • выражения принимаются в качестве параметров
  • строковые параметры должны заключаться в двойные кавычки; в противном случае они могут быть интерпретированы неверно
  • необязательные параметры функций (или части параметров) обозначаются угловыми скобками< >
ФУНКЦИЯ
Описание Параметры, специфичные для функции Комментарии
ascii (значение)
Код ASCII самого левого символа значения. значение - проверяемое значение Поддерживаемые типы значений: string, text, log

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

Пример:
=> ascii(last(/узел_сети/ключ))
bitlength (значение)
Длина значения в битах. значение - проверяемое значение Поддерживаемые типы значений: string, text, log, integer

Пример:
=> bitlength(last(/узел_сети/ключ))
bytelength (значение)
Длина значения в байтах. значение - проверяемое значение Поддерживаемые типы значений: string, text, log, integer

Пример:
=> bytelength(last(/узел_сети/ключ))
char (значение)
Вернуть символ, интерпретируя значение как код ASCII. значение - проверяемое значение Поддерживаемые типы значений: integer

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

Пример:
=> char(last(/узел_сети/ключ))
concat (<значение1>,<значение2>,...)
Строка, получаемая в результате конкатенации упоминаемых значений элементов данных либо констант. значение - значение, возвращаемое одной из функций истории, либо константа (string, integer, или float number) Поддерживаемые типы значений: string, text, log, float, integer

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

Должно содержать минимум два параметра.

Пример:
=> concat(last(/узел_сети/ключ),"bix")
=> concat("1 min: ",last(/узел_сети/system.cpu.load[all,avg1]),", 15 min: ",last(/узел_сети/system.cpu.load[all,avg15]))
insert (значение,старт,длина,замена)
Вставить указанные символы или пробелы в символьную строку, начиная с указанной позиции в строке. значение - проверяемое значение
старт - начальная позиция
длина - заменяемых позиций
замена - подставляемая строка
Поддерживаемые типы значений: string, text, log

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

Пример:
=> insert(last(/узел_сети/ключ),3,2,"b")
left (значение,кол-во)
Самые левые символы значения. значение - проверяемое значение
кол-во - количество возвращаемых символов
Поддерживаемые типы значений: string, text, log

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

Пример:
=> left(last(/узел_сети/ключ),3) - возвращает три самых левых символа

Смотрите также right().
length (значение)
Длина значения в символах. значение - проверяемое значение Поддерживаемые типы значений: str, text, log

Пример:
=> length(last(/узел_сети/ключ)) → длина последнего значения
=> length(last(/узел_сети/ключ,#3)) → длина третьего из последних значения
=> length(last(/узел_сети/ключ,#1:now-1d)) → длина самого свежего сутки назад значения
ltrim (значение,<символы>)
Удалить указанные символы с начала строки. значение - проверяемое значение
символы - (опционально) укажите удаляемые символы

По умолчанию удаляются пробелы (если не указано опциональных символов).
Поддерживаемые типы значений: string, text, log

Пример:
=> ltrim(last(/узел_сети/ключ)) - удалить пробелы с начала строки
=> ltrim(last(/узел_сети/ключ),"Z") - удалить любые символы 'Z' с начала строки
=> ltrim(last(/узел_сети/ключ)," Z") - удалить пробелы и символы 'Z' с начала строки

Смотрите также: rtrim(), trim()
mid (значение,старт,длина)
Вернуть подстроку из N символов, начиная с символьной позиции, указанной параметром 'старт'. значение - проверяемое значение
старт - начальная позиция подстроки
длина - количество позиций подстроки, которые нужно вернуть
Поддерживаемые типы значений: string, text, log

Например, можно вернуть подстроку 'abbi' из значения 'Zabbix', если указать начальную позицию 2, а длину 4).

Пример:
=> mid(last(/узел_сети/ключ),2,4)="abbi"
repeat (значение,кол-во)
Повторить строку. значение - проверяемое значение
кол-во - количество повторений
Поддерживаемые типы значений: string, text, log

Пример:
=> repeat(last(/узел_сети/ключ),2) - повторить значение дважды
replace (значение,образец,замена)
Найти в значении образец и заменить его заменой. Все вхождения образца будут заменены. значение - проверяемое значение
образец - искомый образец
замена - строка, которой заменяется образец
Поддерживаемые типы значений: string, text, log

Пример:
=> replace(last(/узел_сети/ключ),"ibb","abb") - заменить все 'ibb' на 'abb'
right (значение,кол-во)
Самые правые символы значения. значение - проверяемое значение
кол-во - количество возвращаемых символов
Поддерживаемые типы значений: string, text, log

Например, можно вернуть 'bix' из 'Zabbix', если указать возвращать 3 символа справа.

Пример:
=> right(last(/узел_сети/ключ),3) - вернуть три символа справа

Смотрите также left().
rtrim (значение,<символы>)
Удалить указанные символы с конца строки. значение - проверяемое значение
символы - (опционально) укажите удаляемые символы

По умолчанию удаляются пробелы (если не указано опциональных символов).
Поддерживаемые типы значений: string, text, log

Пример:
=> rtrim(last(/узел_сети/ключ)) - удалить пробелы с конца строки
=> rtrim(last(/узел_сети/ключ),"x") - удалить любые символы 'x' с конца строки
=> rtrim(last(/узел_сети/ключ),"x ") - удалить любые символы 'x' или пробелы с конца строки

Смотрите также: ltrim(), trim()
trim (значение,<символы>)
Удалить указанные символы с начала и конца строки. значение - проверяемое значение
символы - (опционально) укажите удаляемые символы

По умолчанию удаляются пробелы (если не указано опциональных символов).
Поддерживаемые типы значений: string, text, log

Пример:
=> trim(last(/узел_сети/ключ)) - удалить пробелы с начала и конца строки
=> trim(last(/узел_сети/ключ),"_") - удалить '_' с начала и конца строки

Смотрите также: ltrim(), rtrim()