三、函数定义
在值中指定范围内查找子串,返回 True 或 False。
四、语法描述
str_exist(字符串值, 子串值, ignore_upper=False)
五、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| 字符串值 | 字符串的值 | String | 是 | – | – |
| 子串值 | 子串的值 | String | 是 | – | – |
| ignore_upper | 是否区分大小写 | Bool | 否 | False | – |
六、示例
原始日志:
{"data": "cls nihao"}
加工规则:
fields_set("result", str_exist(v(data), "nihao"))
加工结果:
{"result":"true","data":"cls nihao"}
八、函数定义
判断是否存在多个子串,只要存在一个子串,就返回 True,均不存在返回 False。
九、语法描述
str_existV2(字符串值, 子串值1,子串值2,… ,ignore_upper=False)
十、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| 字符串值 | 字符串的值 | String | 是 | – | – |
| 子串值1 | 子串的值 | String | 是 | – | – |
| 子串值2 | 子串的值 | String | 是 | – | – |
| ignore_upper | 是否区分大小写 | Bool | 否 | False | – |
十一、示例
原始日志:
{"data": "cls nihao"}
加工规则:
fields_set("result", str_existV2(v(data), "nihao","hello"))
加工结果:
{"result":"true","data":"cls nihao"}
十三、函数定义
在值中指定范围内查找子串,返回子串出现的次数。
十四、语法描述
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(值)
20、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
21、示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_len(v("data")))
加工结果:
{"result":"16","data":"warn,error,error"}
23、函数定义
返回大写字符串。
24、语法描述
str_uppercase(值)
25、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
26、示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_uppercase(v("data")))
加工结果:
{"result":"WARN,ERROR,ERROR","data":"warn,error,error"}
28、函数定义
返回小写字符串。
29、语法描述
str_lowercase(值)
30、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
31、示例
原始日志:
{"data": "WARN,ERROR,ERROR"}
加工规则:
fields_set("result", str_lowercase(v("data")))
加工结果:
{"result":"warn,error,error","data":"WARN,ERROR,ERROR"}
33、函数定义
使用拼接字符串,拼接多值。
34、语法描述
str_join(拼接字符串1, 值1, 值2, …)
35、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| join | 字符串类型的值 | string | 是 | – | – |
| 值参数,可变参数列表 | 字符串类型的值 | string | 是 | – | – |
36、示例
原始日志:
{"data": "WARN,ERROR,ERROR"}
加工规则:
fields_set("result", str_join(",", v("data"), "INFO"))
加工结果:
{"result":"WARN,ERROR,ERROR,INFO","data":"WARN,ERROR,ERROR"}
38、函数定义
替换字符串,返回替换结果字符串。
39、语法描述
str_replace(值, old="", new="", count=0)
40、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| old | 将要被替换的字符串 | string | 是 | – | – |
| new | 替换的目标字符串 | string | 是 | – | – |
| count | 最大替换次数,默认全部替换 | number | 否 | 默认为0 | – |
41、示例
将字段 data 的值中的 "WARN" 替换为 "ERROR"。
原始日志:
{"data": "WARN,ERROR,ERROR"}
加工规则:将替换的结果保存到新字段 "result" 中。
fields_set("result", str_replace( v("data"), old="WARN", new="ERROR"))
加工结果:
{"result":"ERROR,ERROR,ERROR","data":"WARN,ERROR,ERROR"}
43、函数定义
格式化字符串,返回格式化结果。
44、语法描述
str_format(格式化字符串, 值1, 值2, …)
45、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| format | 目标格式,占位符使用{},例如:"The disk contains {0} files."。其中占位符{}中的数字,对应后面参数值的序号,从0开始。具体使用可参考 MessageFormat.format 函数的使用 | string | 是 | – | – |
| 值参数,可变参数列表 | 字符串类型的值 | string | 是 | – | – |
46、示例
原始日志:
{"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"}
48、函数定义
移除字符串的开头和结尾处的指定字符。
49、语法描述
str_strip(值, chars="\\t\\r\\n")
50、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| chars | 将要被剔除的字符串 | string | 否 | \\t\\r\\n | – |
51、示例
·示例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** "}
53、函数定义
移除字符串开头处的指定字符。
54、语法描述
str_strip(值, chars="\\t\\r\\n")
55、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| chars | 将要被剔除的字符串 | string | 否 | \\t\\r\\n | – |
56、示例
原始日志:
{"data": " abc "}
加工规则:
fields_set("result", str_lstrip(v("data"), chars=" "))
加工结果:
{"result":"abc ","data":" abc "}
58、函数定义
移除字符串结尾处的指定字符。
59、语法描述
str_strip(值, chars="\\t\\r\\n")
60、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| chars | 将要被剔除的字符串 | string | 否 | \\t\\r\\n | – |
61、示例
原始日志:
{"data": " abc "}
加工规则:
fields_set("result", str_rstrip(v("data"), chars=" "))
加工结果:
{"result":" abc","data":" abc "}
63、函数定义
在值中查找子串,并返回子串出现的位置。
64、语法描述
str_find(值, sub="", start=0, end=-1)
65、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| sub | 准备查找的子字符串 | string | 是 | – | – |
| start | 查找的起始位置 | number | 否 | 默认为0 | – |
| end | 查找的结束位置 | number | 否 | 默认为-1 | – |
66、示例
原始日志:
{"data": "warn,error,error"}
加工规则:
fields_set("result", str_find(v("data"), sub="err"))
加工结果:
{"result":"5","data":"warn,error,error"}
68、函数定义
判断字符串是否以指定前缀开头。
69、语法描述
str_start_with(值, sub="", start=0, end=-1)
70、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| sub | 前缀字符串 | string | 是 | – | – |
| start | 查找的起始位置 | number | 否 | 默认为0 | – |
| end | 查找的结束位置 | number | 否 | 默认为-1 | – |
71、示例
·示例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"}
73、函数定义
判断字符串是否以指定后缀结尾。
74、语法描述
str_end_with(值, sub="", start=0, end=-1)
75、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 字符串类型的值 | string | 是 | – | – |
| sub | 后缀字符串 | string | 是 | – | – |
| start | 查找的起始位置 | number | 否 | 默认为0 | – |
| end | 查找的结束位置 | number | 否 | 默认为-1 | – |
76、示例
原始日志:
{"data": "endwith something"}
加工规则:
fields_set("result", str_end_with(v("data"), sub="ing"))
加工结果:
{"result":"true","data":"endwith something"}