9 字符串函数

此处列出的所有功能均受支持:

下面列出的函数没有附加信息。点击该函数查看完整的详细信息。

函数说明
ascii值最左边字符的ASCII码。
bitlength以比特为单位值的长度。
bytelength以字节为单位值的长度。
char通过将值转换为ASCII码来返回字符。
concat由串联引用的监控项值或常量值产生的字符串。
insert从字符串中的指定位置开始,将指定的字符或空格插入到字符串中。
jsonpath返回JSONPath结果。
left返回值最左边的字符。
length以字符为单位值的长度。
ltrim从字符串的开头删除指定的字符。
mid返回从’start’指定的字符位置开始的N个字符的子字符串。
repeat重复字符串。
replace在值中查找样例值并用替换值进行替换。
right返回值最右边的字符。
rtrim从字符串的末尾删除指定的字符。
trim从字符串的开头和结尾删除指定的字符。
xmlxpath返回XML路径语言结果。

函数详情

关于函数参数的一般性说明:

  • 函数参数用逗号分隔
  • 表达式可以作为参数
  • 字符串参数必须用双引号括起来;否则可能会被误解
  • 可选函数参数(或参数部分)由< >表示
ascii(value)

值最左边字符的ASCII码。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值

例如,’Abc’这样的值将返回’65’(’A’的ASCII代码)。

示例:

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

以比特为单位值的长度。
支持的值类型:字符串文本日志整数

参数:

  • value - 要检查的值

示例:

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

以字节为单位值的长度。
支持的值类型:字符串文本日志整数

参数:

  • value - 要检查的值

示例:

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

通过将值转换为ASCII码来返回字符。
支持的值类型:整数

参数:

  • value - 要检查的值

该值必须在0-255范围内。例如,’65’这样的值(解释为ASCII码)将返回’A’。

示例:

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

由串联引用的监控项值或常量值产生的字符串。
支持的值类型:字符串文本日志浮点整数

参数:

  • valueX -由历史函数之一返回的值或常量值(字符串、整数或浮点数)。必须至少包含两个参数。

例如,’Zab’这样的值连接到’bix’(常量字符串)将返回’Zabbix’。

示例:

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

从字符串中的指定位置开始,将指定的字符或空格插入到字符串中。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • start - 开始的位置;

  • length - 要替换的位置;

  • replacement - 替换的字符串。

例如,如果将 ‘bb’(起始位置 3,要替换的位置 2)替换为 ‘b’,则类似于 ‘Zabbbix’ 的值将替换为 ‘Zabbix’。

示例:

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

返回JSONPath结果。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • path - 路径(必须加引号);

  • default - 如果JSONPath查询没有数据返回,则为可选的回退值。请注意,在其他错误中会返回失败 (比如”不支持的结构”)。

示例:

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

返回值最左边的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • count - 返回的字符数。

例如,您可以通过指定要返回的最左边的 3 个字符从’Zabbix’ 返回 ‘Zab’。另参见 right()

示例:

  1. left(last(/host/key),3) #return three leftmost characters
length(value)

以字符为单位值的长度。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值

示例:

  1. length(last(/host/key)) #the length of the latest value
  2. length(last(/host/key,#3)) #the length of the third most recent value
  3. length(last(/host/key,#1:now-1d)) #the length of the most recent value one day ago
ltrim(value,<chars>)

从字符串的开头删除指定的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • chars(可选)-指定要删除的字符

默认情况下,空格会被左对齐(如果未指定可选字符)。另参见: rtrim(), trim()

示例:

  1. ltrim(last(/host/key)) #remove whitespace from the beginning of string
  2. ltrim(last(/host/key),"Z") #remove any 'Z' from the beginning of string
  3. ltrim(last(/host/key)," Z") #remove any space and 'Z' from the beginning of string
mid(value,start,length)

返回从’start’指定的字符位置开始的N个字符的子字符串。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • start - 子字符串的开始位置;

  • length - 要在子字符串中返回的位置。

例如,如果起始位置为 2,返回的位置为 4,则可以从像 ‘Zabbix’ 这样的值返回 ‘abbi’。

示例:

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

重复字符串。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • count -重复的次数。

示例:

  1. repeat(last(/host/key),2) #repeat the value two times
replace(value,pattern,replacement)

在值中查找样例值并用替换值进行替换。所有出现的样例值都将被替换。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • pattern - 找到样例值;

  • replacement - 替换样例值的字符串。

示例:

  1. replace(last(/host/key),"ibb","abb") - replace all 'ibb' with 'abb'
right(value,count)

返回值最右边的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • count - 要返回的字符数。

例如,可以通过指定最右边的 3 个字符来从 ‘Zabbix’ 返回 ‘bix’。 另参见 left()

示例:

  1. right(last(/host/key),3) #return three rightmost characters
rtrim(value,<chars>)

从字符串的末尾删除指定的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • chars (可选)- 指定要删除的字符。

默认情况下,空格会被右对齐(如果未指定可选字符)。另参见: ltrim()trim()

示例:

  1. rtrim(last(/host/key)) #remove whitespace from the end of string
  2. rtrim(last(/host/key),"x") #remove any 'x' from the end of string
  3. rtrim(last(/host/key),"x ") #remove any 'x' and space from the end of string
trim(value,<chars>)

从字符串的开头和结尾删除指定的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • chars (可选)- 指定要删除的字符。

默认情况下,空格会被居中对齐(如果未指定可选字符)。另参见ltrim()rtrim()

示例:

  1. trim(last(/host/key)) - remove whitespace from the beginning and end of string
  2. trim(last(/host/key),"_") - remove '_' from the beginning and end of string
xmlxpath(value,path,<default>)

返回XML路径语言结果。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;

  • path - 路径(必须加引号);

  • default - 如果XML XPath查询返回空节点集,这是可选的回退值。 如果空结果不是节点集(即空字符串)则不返回。在其他错误中,会返回失败(例如 “无效表达式”)。

示例:

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

参见 所有支持的函数