9 字符串函数

此处列出的所有函数均支持用于:

以下仅列出函数,不包含附加信息。点击函数可查看完整详情。

Function Description
ascii 值最左侧字符的 ASCII 代码。
bitlength 值的位长度。
bytelength 值的字节长度。
char 将该值解释为 ASCII 代码并返回对应字符。
concat 通过连接引用的监控项值或常量值而得到的字符串。
insert 从字符串中的指定位置开始,向字符串中插入指定字符或空格。
jsonpath 返回 JSONPath 结果。
left 返回值最左侧的字符。
length 值的字符长度。
ltrim 从字符串开头移除指定字符。
mid 从由“start”指定的字符位置开始,返回长度为 N 的子字符串。
repeat 重复一个字符串。
replace 在值中查找模式并替换为 replacement。
right 返回值最右侧的字符。
rtrim 从字符串末尾移除指定字符。
trim 从字符串的开头和末尾移除指定字符。
xmlxpath 返回 XML XPath 结果。

函数详情

有关函数参数的一些一般说明:

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

值最左侧字符的 ASCII 代码。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值

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

示例:

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

value 的位长度。
支持的值类型:StringTextLogInteger

参数:

  • value - 要检查的值

示例:

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

value 的字节长度。
支持的值类型:StringTextLogInteger

参数:

  • value - 要检查的值

示例:

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

通过将该值解释为 ASCII 代码来返回相应字符。
支持的值类型:Integer

参数:

  • value - 要检查的值

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

示例:

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

通过连接引用的监控项值或常量值而得到的字符串。
支持的值类型:StringTextLogFloatInteger

参数:

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

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

参数:

  • value - 要检查的值;
  • start - 起始位置;
  • length - 要替换的位置数;
  • replacement - 替换字符串。

例如,如果将值 'Zabbbix' 中的 'bb'(起始位置为 3,要替换的位置数为 2)替换为 'b',则该值将变为 'Zabbix'。

示例:

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

返回 JSONPath 结果。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • path - 路径(必须加引号);
  • default - 可选的回退值,如果 JSONPath 查询未返回数据则使用该值。请注意,发生其他错误时将返回失败(例如“unsupported construct”)。

示例:

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

返回值最左侧的字符。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • count - 要返回的字符数。

例如,通过指定返回最左侧 3 个字符,您可以从“Zabbix”中返回“Zab”。另请参见 right()

示例:

left(last(/host/key),3) #返回最左侧三个字符
length(value)

value 的字符长度。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值。

示例:

length(last(/host/key)) #最新值的长度
length(last(/host/key,#3)) #倒数第三个最新值的长度
length(last(/host/key,#1:now-1d)) #一天前最近值的长度
ltrim(value,<chars>)

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

参数:

  • value - 要检查的值;
  • chars(可选)- 指定要移除的字符。

默认会移除开头的空白字符(如果未指定可选字符)。另请参见:rtrim()trim()

示例:

ltrim(last(/host/key)) #从字符串开头移除空白字符
ltrim(last(/host/key),"Z") #从字符串开头移除所有 'Z'
ltrim(last(/host/key)," Z") #从字符串开头移除所有空格和 'Z'
mid(value,start,length)

返回从由“start”指定的字符位置开始、长度为 N 个字符的子字符串。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • start - 子字符串的起始位置;
  • length - 子字符串中要返回的字符数。

例如,对于类似“Zabbix”的值,如果起始位置为 2,返回的字符数为 4,则可以返回“abbi”。

示例:

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

重复一个字符串。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • count - 重复的次数。

示例:

repeat(last(/host/key),2) #将该值重复两次
replace(value,pattern,replacement)

在值中查找模式,并替换为 replacement。模式的所有匹配项都会被替换。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • pattern - 要查找的模式;
  • replacement - 用于替换该模式的字符串。

示例:

replace(last(/host/key),"ibb","abb") #将所有 'ibb' 替换为 'abb'

返回值最右侧的字符。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • count - 要返回的字符数。

例如,通过指定返回最右侧的 3 个字符,您可以从“Zabbix”中返回“bix”。另请参见 left()

示例:

right(last(/host/key),3) #返回最右侧的三个字符
rtrim(value,<chars>)

从字符串末尾移除指定字符。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • chars(可选)- 指定要移除的字符。

默认会移除右侧空白字符(如果未指定可选字符)。另请参见:ltrim()trim()

示例:

rtrim(last(/host/key)) #从字符串末尾移除空白字符
rtrim(last(/host/key),"x") #从字符串末尾移除所有 'x'
rtrim(last(/host/key),"x ") #从字符串末尾移除所有 'x' 和空格
trim(value,<chars>)

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

参数:

  • value - 要检查的值;
  • chars(可选)- 指定要移除的字符。

默认会从两端去除空白字符(如果未指定可选字符)。另请参见:ltrim()rtrim()

示例:

trim(last(/host/key)) #从字符串的开头和结尾移除空白字符
trim(last(/host/key),"_") #从字符串的开头和结尾移除 '_'
xmlxpath(value,path,<default>)

返回 XML XPath 结果。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • path - 路径(必须加引号);
  • default - 可选的回退值,如果 XML XPath 查询返回空节点集,则使用该值。如果空结果不是节点集(即空字符串),则不会返回该值。发生其他错误时将返回失败(例如“invalid expression”)。

示例:

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

参见所有支持的函数