简介
字符串处理函数,支持字符串长度计算、大小写转换、拼接字符串、替换、剔除、查找字符所在位置、前后缀匹配等。
str_exist 函数
函数定义
在值中指定范围内查找子串,返回 True 或 False。
语法描述
str_exist(data1, data2, ignore_upper=False)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 字符串类型的值 | String | 是 | | - |
data2 | 字符串类型的值 | String | 是 | | - |
ignore_upper | 是否区分大小写 | Bool | 否 | False | - |
示例
原始日志:
{"data": "cls nihao"}
加工规则:
fields_set("result", str_exist(v(data), "nihao"))
加工结果:
{"result":"true","data":"cls nihao"}
str_count 函数
函数定义
在值中指定范围内查找子串,返回子串出现的次数。
语法描述
str_count(值, sub="", start=0, end=-1)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
sub | 需要查找的子字符串 | string | 是 | - | - |
start | 查找的起始位置 | number | 否 | 默认为0 | - |
end | 查找的结束位置 | number | 否 | 默认为-1 | - |
示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_count(v("data"), sub="err"))
加工结果:
{"result":"2","data":"warn,error,error"}
str_len 函数
函数定义
返回字符串长度。
语法描述
str_len(值)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_len(v("data")))
加工结果:
{"result":"16","data":"warn,error,error"}
str_uppercase 函数
函数定义
返回大写字符串。
语法描述
str_uppercase(值)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_uppercase(v("data")))
加工结果:
{"result":"WARN,ERROR,ERROR","data":"warn,error,error"}
str_lowercase 函数
函数定义
返回小写字符串。
语法描述
str_lowercase(值)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
示例
原始日志:
{"data": "WARN,ERROR,ERROR"}
加工规则:
fields_set("result", str_lowercase(v("data")))
加工结果:
{"result":"warn,error,error","data":"WARN,ERROR,ERROR"}
str_join 函数
函数定义
使用拼接字符串,拼接多值。
语法描述
str_join(拼接字符串1, 值1, 值2, ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
join | 字符串类型的值 | string | 是 | - | - |
值参数,可变参数列表 | 字符串类型的值 | string | 是 | - | - |
示例
原始日志:
{"data": "WARN,ERROR,ERROR"}
加工规则:
fields_set("result", str_join(",", v("data"), "INFO"))
加工结果:
{"result":"WARN,ERROR,ERROR,INFO","data":"WARN,ERROR,ERROR"}
str_replace 函数
函数定义
替换字符串,返回替换结果字符串。
语法描述
str_replace(值, old="", new="", count=0)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
old | 将要被替换的字符串 | string | 是 | - | - |
new | 替换的目标字符串 | string | 是 | - | - |
count | 最大替换次数,默认全部替换 | number | 否 | 默认为0 | - |
示例
将字段 data 的值中的 "WARN" 替换为 "ERROR"。
原始日志:
{"data": "WARN,ERROR,ERROR"}
加工规则:
fields_set("result", str_replace( v("data"), old="WARN", new="ERROR"))
将替换的结果保存到新字段 "result" 中。
加工结果:
{"result":"ERROR,ERROR,ERROR","data":"WARN,ERROR,ERROR"}
str_format 函数
函数定义
格式化字符串,返回格式化结果。
语法描述
str_format(格式化字符串, 值1, 值2, ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
format | 目标格式,占位符使用{},例如:"The disk contains {0} files."。其中{}中的数字,对应后面参数值的序号,从0开始。具体使用可参考 MessageFormat.format 函数的使用 | string | 是 | - | - |
值参数,可变参数列表 | 字符串类型的值 | string | 是 | - | - |
示例
原始日志:
{"status": 200, "message":"OK"}
加工规则:
fields_set("result", str_format("status:{0}, message:{1}", v("status"), v("message")))
加工结果:
{"result":"status:200, message:OK","message":"OK","status":"200"}
str_strip 函数
函数定义
移除字符串的开头和结尾处的指定字符。
语法描述
str_strip(值, chars="\\t\\r\\n")
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
chars | 将要被剔除的字符串 | string | 否 | \\t\\r\\n | - |
示例
示例1
原始日志:
{"data": " abc "}
加工规则:
fields_set("result", str_strip(v("data"), chars=" "))
加工结果:
{"result":"abc","data":" abc "}
示例2
原始日志:
{"data": " **abc** "}
加工规则:
fields_set("result", str_strip(v("data"), chars=" *"))
加工结果:
{"result":"abc","data":" **abc** "}
str_lstrip 函数
函数定义
移除字符串开头处的指定字符。
语法描述
str_strip(值, chars="\\t\\r\\n")
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
chars | 将要被剔除的字符串 | string | 否 | \\t\\r\\n | - |
示例
原始日志:
{"data": " abc "}
加工规则:
fields_set("result", str_lstrip(v("data"), chars=" "))
加工结果:
{"result":"abc ","data":" abc "}
str_rstrip 函数
函数定义
移除字符串结尾处的指定字符。
语法描述
str_strip(值, chars="\\t\\r\\n")
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
chars | 将要被剔除的字符串 | string | 否 | \\t\\r\\n | - |
示例
原始日志:
{"data": " abc "}
加工规则:
fields_set("result", str_rstrip(v("data"), chars=" "))
加工结果:
{"result":" abc","data":" abc "}
str_find 函数
函数定义
在值中查找子串,并返回子串出现的位置。
语法描述
str_find(值, sub="", start=0, end=-1)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
sub | 准备查找的子字符串 | string | 是 | - | - |
start | 查找的起始位置 | number | 否 | 默认为0 | - |
end | 查找的结束位置 | number | 否 | 默认为-1 | - |
示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_find(v("data"), sub="err"))
加工结果:
{"result":"5","data":"warn,error,error"}
str_start_with 函数
函数定义
判断字符串是否以指定前缀开头。
语法描述
str_start_with(值, sub="", start=0, end=-1)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
sub | 前缀字符串 | string | 是 | - | - |
start | 查找的起始位置 | number | 否 | 默认为0 | - |
end | 查找的结束位置 | number | 否 | 默认为-1 | - |
示例
示例1
原始日志:
{"data": "something"}
加工规则:
fields_set("result", str_start_with(v("data"), sub="some"))
加工结果:
{"result":"true","data":"something"}
示例2
原始日志:
{"data": "something"}
加工规则:
fields_set("result", str_start_with(v("data"), sub="*"))
加工结果:
{"result":"false","data":"something"}
str_end_with 函数
函数定义
判断字符串是否以指定后缀结尾。
语法描述
str_end_with(值, sub="", start=0, end=-1)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 字符串类型的值 | string | 是 | - | - |
sub | 后缀字符串 | string | 是 | - | - |
start | 查找的起始位置 | number | 否 | 默认为0 | - |
end | 查找的结束位置 | number | 否 | 默认为-1 | - |
示例
原始日志:
{"data": "endwith something"}
加工规则:
fields_set("result", str_end_with(v("data"), sub="ing"))
加工结果:
{"result":"true","data":"endwith something"}