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()