This is a translation of the original English documentation page. Help us make it better.
Table of Contents

8 String functions

All functions listed here are supported in:

Some general notes on function parameters:

  • Function parameters are separated by a comma
  • Expressions are accepted as parameters
  • String parameters must be double-quoted; otherwise they might get misinterpreted
  • Optional function parameters (or parameter parts) are indicated by < >
FUNCTION
Description Function-specific parameters Comments
ascii (value)
The ASCII code of the leftmost character of the value. value - value to check Supported value types: string, text, log

For example, a value like 'Abc' will return '65' (ASCII code for 'A').

Example:
=> ascii(last(/host/key))
bitlength (value)
The length of value in bits. value - value to check Supported value types: string, text, log, integer

Example:
=> bitlength(last(/host/key))
bytelength (value)
The length of value in bytes. value - value to check Supported value types: string, text, log, integer

Example:
=> bytelength(last(/host/key))
char (value)
Return the character by interpreting the value as ASCII code. value - value to check Supported value types: integer

The value must be in the 0-255 range. For example, a value like '65' (interpreted as ASCII code) will return 'A'.

Example:
=> char(last(/host/key))
concat (<value1>,<value2>,...)
The string resulting from concatenating referenced item values or constant values. value - a value returned by one of the history functions or a constant value (string, integer, or float number) Supported value types: string, text, log, float, integer

For example, a value like 'Zab' concatenated to 'bix' (the constant string) will return 'Zabbix'.

Must contain at least two parameters.

Examples:
=> 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)
Insert specified characters or spaces into the character string beginning at the specified position in the string. value - value to check
start - start position
length - positions to replace
replacement - replacement string
Supported value types: string, text, log

For example, a value like 'Zabbbix' will be replaced by 'Zabbix' if 'bb' (starting position 3, positions to replace 2) is replaced by 'b'.

Example:
=> insert(last(/host/key),3,2,"b")
left (value,count)
The leftmost characters of the value. value - value to check
count - number of characters to return
Supported value types: string, text, log

For example, you may return 'Zab' from 'Zabbix' by specifying 3 leftmost characters to return.

Example:
=> left(last(/host/key),3) - return three leftmost characters

See also right().
length (value)
The length of value in characters. value - value to check Supported value types: str, text, log

Example:
=> length(last(/host/key)) → length of the latest value
=> length(last(/host/key,#3)) → length of the third most recent value
=> length(last(/host/key,#1:now-1d)) → length of the most recent value one day ago
ltrim (value,<chars>)
Remove specified characters from the beginning of string. value - value to check
chars - (optional) specify characters to remove

Whitespace is left-trimmed by default (if no optional characters are specified).
Supported value types: string, text, log

Example:
=> ltrim(last(/host/key)) - remove whitespace from the beginning of string
=> ltrim(last(/host/key),"Z") - remove any 'Z' from the beginning of string
=> ltrim(last(/host/key)," Z") - remove any space and 'Z' from the beginning of string

See also: rtrim(), trim()
mid (value,start,length)
Return a substring of N characters beginning at the character position specified by 'start'. value - value to check
start - start position of substring
length - positions to return in substring
Supported value types: string, text, log

For example, it is possible return 'abbi' from a value like 'Zabbix' if starting position is 2, and positions to return is 4).

Example:
=> mid(last(/host/key),2,4)="abbi"
repeat (value,count)
Repeat a string. value - value to check
count - number of times to repeat
Supported value types: string, text, log

Example:
=> repeat(last(/host/key),2) - repeat the value two times
replace (value,pattern,replacement)
Find pattern in the value and replace with replacement. All occurrences of the pattern will be replaced. value - value to check
pattern - pattern to find
replacement - string to replace the pattern with
Supported value types: string, text, log

Example:
=> replace(last(/host/key),"ibb","abb") - replace all 'ibb' with 'abb'
right (value,count)
The rightmost characters of the value. value - value to check
count - number of characters to return
Supported value types: string, text, log

For example, you may return 'bix' from 'Zabbix' by specifying 3 rightmost characters to return.

Example:
=> right(last(/host/key),3) - return three rightmost characters

See also left().
rtrim (value,<chars>)
Remove specified characters from the end of string. value - value to check
chars - (optional) specify characters to remove

Whitespace is right-trimmed by default (if no optional characters are specified).
Supported value types: string, text, log

Example:
=> rtrim(last(/host/key)) - remove whitespace from the end of string
=> rtrim(last(/host/key),"x") - remove any 'x' from the end of string
=> rtrim(last(/host/key),"x ") - remove any 'x' or space from the end of string

See also: ltrim(), trim()
trim (value,<chars>)
Remove specified characters from the beginning and end of string. value - value to check
chars - (optional) specify characters to remove

Whitespace is trimmed from both sides by default (if no optional characters are specified).
Supported value types: string, text, log

Example:
=> trim(last(/host/key)) - remove whitespace from the beginning and end of string
=> trim(last(/host/key),"_") - remove '_' from the beginning and end of string

See also: ltrim(), rtrim()