华为云用户手册

  • lst_delete_at 返回删除元素后的列表。 函数格式 lst_delete_at(list_string, location) 参数说明 参数名称 数据类型 是否必填 说明 list_string list 是 传入一个列表。 location Number 是 要删除元素的位置。第一个元素从位置0开始。 返回结果 返回获取的字典关键词列表。 函数示例 测试数据 { "ctx": ["k1","k2"] } 加工规则 e_set("hello", lst_delete_at(v("ctx"),1)) 加工结果 ctx: ["k1","k2"] hello: ["k1"]
  • lst_make 构建一个列表。 函数格式 lst_make(value1, value2, ...) 参数说明 参数名称 数据类型 是否必填 说明 value1 String 是 列表的元素。 value2 String 是 列表的元素。 返回结果 返回构建后的列表。 函数示例 测试数据 { "content":"test" } 加工规则 e_set("hello", lst_make("k1","k2")) 加工结果 content:test hello:["k1", "k2"]
  • dct_delete 删除字典。 函数格式 dct_delete(dict, key1, key2, ...) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 需要删除键值对的目标字典。 key1 String 是 要删除的键值对的关键字。 key2 String 否 要删除的键值对的关键字。 返回结果 返回删除后的字典。 函数示例 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_delete(v("ctx"), "k2")) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: {"k1":"v1"}
  • dct_keys 获取字典关键字列表。 函数格式 dct_keys(dict) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 字典数据。 返回结果 返回获取的字典关键词列表。 函数示例 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_keys(v("ctx"))) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: ["k1","k2"]
  • dct_values 获取字典值列表。 函数格式 dct_values(dict) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 字典数据。 返回结果 返回获取的字典词列表。 函数示例 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_values(v("ctx"))) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: ["v1","v2"]
  • dct_get 获取字典中某关键字的值。 函数格式 dct_get(dict,key,default=None) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 字典数据。 key String 是 要获取值的关键字。 default String 否 key不存在时,返回该值。 返回结果 返回字典关键字的值。 函数示例 示例1: 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_get(v("ctx"), "k1")) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: v1 示例2: 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_get(v("ctx"), "k3",default="123")) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: 123
  • dct_make 构建字典。 函数格式 dct_make(key1, value1, key2, value2, ...) 参数说明 参数名称 数据类型 是否必填 说明 key String 是 作为字典key的字符串。 value String 是 作为字典value的字符串。 返回结果 返回构建的字典。 函数示例 测试数据 { "content": "test" } 加工规则 e_set("hello", dct_make("k1","v1","k2","v2")) 加工结果 content:test hello:{"k1": "v1", "k2": "v2"}
  • dct_update 更新字典。 函数格式 dct_update(dict1, dict2) 参数说明 参数名称 数据类型 是否必填 说明 dict1 dict 是 需要被更新的目标字典。 dict2 dict 是 补充新的字典信息。 返回结果 返回更新的字典。 函数示例 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_update(v("ctx"), {"k3": "v3"})) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: {"k1": "v1", "k2": "v2", "k3": "v3"}
  • regex_replace 根据正则表达式替换字符串中的指定字符。 函数格式 regex_replace(value, r"regular expression", replace="", count=0) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要被替换的值。 regular expression String 是 正则表达式。 replace String 否 替换后的新字符。默认为空,表示删除字符。 支持正则表达式,例如r"\1****\2",表示替换后的字符串要满足该正则表达式。 \1代表第一个分组。 \2代表第二个分组。 count Number 否 替换次数。 默认为0,表示替换所有。 返回结果 返回替换后的新字符串。 函数示例 示例1:把str中的所有数字用13替换。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ ", "replace": "13" } 加工规则 e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace"))) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ 示例2:对手机号中间4位数字进行脱敏处理。 测试数据 { "iphone": "13900001234" } 加工规则 replace=r"\1****\2"表示替换后的字符串要满足正则表达式r"\1****\2"。 \1代表第一个分组,即(\d{0,3})。 \2代表第二个分组,即(\d{4})。 e_set( "sec_iphone", regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"), ) 加工结果 iphone: 13900001234 sec_iphone: 139****1234
  • regex_split 将一个字符串分割成字符串数组。 函数格式 regex_split(value, r"regular expression", maxsplit=0) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要分裂的值。 regular expression String 是 正则表达式。 maxsplit int 否 最大分裂匹配次数。默认为0表示全部匹配分裂,如果为1,表示匹配中一个就分裂,剩余不再进行匹配。 返回结果 返回分割后的数组列表。 函数示例 将字段str按照数字进行分裂。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 e_set("regex_split", regex_split(v("str"),r"\d+")) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]
  • regex_select 函数格式 regex_select(value, r"regular expression", mi=None, gi=None) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 填入要匹配的值。 regular expression String 是 匹配的正则表达式。 mi int 否 表示匹配到的第几个表达式,默认None,表示第一个。 gi int 否 表示匹配到的第几个分组,默认None,表示第一个。 返回结果 返回提取的值。 函数示例 示例1:提取字段str中符合正则表达式的第一个值。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 e_set("regex", regex_select(v("str"), r"\d+")) e_set("regex2", regex_select(v("str"), r"\d+", mi=None)) e_set("regex3", regex_select(v("str"), r"\d+", mi=0)) 加工结果 regex:1 regex2:1 regex3:1 str:iZbp1a65x3r1vhpe94fi2qZ 示例2:提取字段str中符合正则表达式的第一个和第二个的值。 测试数据 { "str": "abc123 xyz456" } 加工规则 # 提取字段str中符合正则表达式的第一个值。 e_set("regex", regex_select(v("str"), r"\d+")) # 提取字段str中符合正则表达式的第二个值。 e_set("regex2", regex_select(v("str"), r"\d+", mi=1)) 加工结果 regex: 123 regex2: 456 str: abc123 xyz456 示例3:提取字段str中不同表达式的不同分组的值。 测试数据 { "str": "abc123 xyz456" } 加工规则 # 提取字段str中符合正则表达式的第一个表达式的第一个分组的值。 e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0)) # 提取字段str中符合正则表达式的第二个表达式的第一个分组的值。 e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0)) # 提取字段str中符合正则表达式的第一个表达式的第一个分组的值。 e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0)) # 提取字段str中符合正则表达式的第一个表达式的第二个分组的值。 e_set("regex4", regex_select(v("str"),r"([a-z]+)(\d+)",gi=1)) 加工结果 str: abc123 xyz456 regex: 123 regex2: 456 regex3: abc regex4: 123
  • regex_findall 根据正则表达式获得符合条件的所有值的一个列表。 函数格式 regex_findall(value, r"regular expression") 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要匹配的值。 regular expression String 是 正则表达式。 返回结果 返回获得符合条件的列表。 函数示例 获取字段str所有的数字。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 e_set("regex_findall", regex_findall(v("str"),r"\d+")) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
  • regex_match 判断是否匹配正则表达式。 函数格式 regex_match(value, r"regular expression", full=false) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要匹配的值。 regular expression String 是 正则表达式。 full Bool 否 是否完全匹配,默认为false。 返回结果 返回true或者false。 函数示例 判断字段str是否包含数字。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 # 判断字段str是否包含数字。 e_set("regex_match", regex_match(v("str"),r"\d+")) # 判断字段str是否全部为数字。 e_set("regex_match2", regex_match(v("str"),r"\d+",full=true)) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ regex_match: true regex_match2: false
  • mat_floor 对传入值进行向下取整操作。 函数格式 mat_floor(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回小于或者等于指定值的最大整数。 函数示例 测试数据 { "course_price": 4.9 } 加工规则 e_set("mat_floor", mat_floor(v("course_price"))) 加工结果 course_price: 4.9 mat_floor: 4
  • mat_log 计算传入值的对数。 函数格式 mat_log(value1,value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字或数字字符串 是 待计算的值。 value2 数字或数字字符串 是 待计算的值。 返回结果 返回传入值的对数。 函数示例 测试数据 { "number1": 100, "number2": 10 } 加工规则 e_set("mat_log", mat_log(v("number1"),v("number2"))) 加工结果 number1: 100 number2: 10 mat_log: 2.0
  • mat_log10 计算以10为基数的传入值的对数。 函数格式 mat_log10(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回以10为基数的传入值的对数结果。 函数示例 测试数据 { "number": 100 } 加工规则 e_set("number2", mat_log10(v("number"))) 加工结果 number: 100 numbe2: 2.0
  • op_round 对传入值进行四舍五入操作。 函数格式 op_round(value, number) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 number 数字 是 表示四舍五入后保留的小数点位数,默认值为0。 返回结果 返回传入值的四舍五入的结果。 函数示例 返回price小数点后1位数。 测试数据 { "price": 4.56 } 加工规则 e_set("round_price", op_round(v("price"),1)) 加工结果 price: 4.56 round_price: 4.6
  • mat_fabs 计算传入值的绝对值。 函数格式 mat_fabs(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回传入值的绝对值。 函数示例 测试数据 { "course_price": -10 } 加工规则 e_set("mat_fabs", mat_fabs(v("course_price"))) 加工结果 course_price: -10 mat_fabs: 10.0
  • op_sub 对传入值进行减法运算。 函数格式 op_sub(value1, value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字或数字字符串 是 待计算的值。 value2 数字或数字字符串 是 待计算的值。 返回结果 返回值1减去值2的结果。 函数示例 计算count减count_apple的结果。 测试数据 { "count": 6, "count_apple": 3 } 加工规则 e_set("sub_number", op_sub(v("count"),v("count_apple"))) 加工结果 count: 6 count_apple: 3 sub_number: 3
  • mat_ceil 对传入值进行向上取整操作。 函数格式 mat_ceil(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回大于或者等于指定值的最小整数。 函数示例 测试数据 { "price": 4.1 } 加工规则 e_set("mat_ceil", mat_ceil(v("price"))) 加工结果 price: 4.1 mat_ceil: 5
  • op_mod 对传入值进行模计算。 函数格式 op_mod(value1, value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字或数字字符串 是 待计算的值。 value2 数字或数字字符串 是 待计算的值。 返回结果 返回值1对值2取模的结果。 函数示例 测试数据 { "course": 4, "count": 3 } 加工规则 e_set("op_mod", op_mod(v("course"), v("count"))) 加工结果 course: 4 count: 3 op_mod: 1
  • mat_exp 以常数e为底的指数函数,返回e的次幂结果。 函数格式 mat_exp(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回e的次幂结果。 函数示例 测试数据 { "number": 2 } 加工规则 e_set("e_x", mat_exp(v("number"))) 加工结果 number: 2 e_x: 7.38905609893065
  • op_div_true 对传入值进行除法操作。 说明 该函数支持自动转换数据类型,输入string或者int类型的数据即可。 函数格式 op_div_true(value1, value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字字符串/ Number 是 待计算的值。 value2 数字字符串/ Number 是 待计算的值。 返回结果 返回值1/值2的结果。 函数示例 示例1:根据fruit_price和count字段计算单价。 测试数据 { "fruit_price": 9, "count": 2 } 加工规则 e_set("op_div_true", op_div_true(v("fruit_price"), v("count"))) 加工结果 fruit_price: 9 count: 2 op_div_true: 4.5 示例2:计算加速度(四舍五入),计算公式为a = (one_speed-two_speed)/time 。 测试数据 { "one_speed": 9, "two_speed": 2, "time": 3 } 加工规则 e_set("a", op_round(op_div_true(op_sub(v("one_speed"), v("two_speed")), v("time")), 2)) 加工结果 a:2.33 one_speed:9 time:3 two_speed:2
  • op_pow 对值进行幂值计算操作。 函数格式 op_pow(value1, value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字或数字字符串 是 待计算的值。 value2 数字或数字字符串 是 待计算的值。 返回结果 返回值1的值2次方的结果。 函数示例 计算course的pow次方的值。 测试数据 { "course": 100, "pow": 2 } 加工规则 e_set("pow_course", op_pow(v("course"), v("pow"))) 加工结果 course: 100 pow: 2 pow_course: 10000
  • op_mul 对传入值进行乘法运算。 函数格式 op_mul(value1, value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字、字符串、元祖、列表等 是 待计算的值。 value2 数字 是 待计算的值。 返回结果 若值1和值2为数字,返回相乘的结果。 若值1和值2为字符串、元祖、列表等,返回扩大倍数的原类型。 函数示例 示例1:根据course和price字段计算总价。 测试数据 { "course": 10, "price": 23 } 加工规则 e_set("account", op_mul(ct_int(v("course")), ct_int(v("price")))) 加工结果 course: 10 price: 23 account: 230 示例2:将course字段扩大3倍。 测试数据 { "course": "abc" } 加工规则 e_set("course", op_mul(v("course"), 3)) 加工结果 course: abcabcabc
  • op_neg 计算传入值的相反数。 函数格式 op_neg(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回传入值的相反数。 函数示例 测试数据 { "course": -100 } 加工规则 e_set("account", op_neg(v("course_price"))) 加工结果 course: -100 account: 100
  • op_div_floor 对传入值进行整除操作。 函数格式 op_div_floor(value1, value2) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字或数字字符串 是 待计算的值。 value2 数字或数字字符串 是 待计算的值。 返回结果 返回值1与值2整除的结果。 函数示例 根据course_price字段和count字段计算单价。 测试数据 { "course_price": 4, "count": 2 } 加工规则 e_set("op_div_floor", op_div_floor(v("course_price"), v("count"))) 加工结果 course_price: 4 count: 2 op_div_floor: 2
  • op_sum 对传入值进行求和操作。 函数格式 op_sum(value1, value2, ...) 参数说明 参数名称 参数类型 是否必填 说明 value1 数字或数字字符串 是 待计算的值。 value2 数字或数字字符串 是 待计算的值。 返回结果 返回多个传入值的求和结果。 函数示例 计算course_price和goods_price总价。 测试数据 { "course_price": 12, "goods_price": 2 } 加工规则 e_set("account", op_sum(v("course_price"), v("goods_price"))) 加工结果 course_price: 12 goods_price: 2 account: 14
  • op_abs 对传入值进行绝对值操作。 函数格式 op_abs(value) 参数说明 参数名称 参数类型 是否必填 说明 value 数字或数字字符串 是 待计算的值。 返回结果 返回传入值的绝对值。 函数示例 测试数据 { "course_price": -4 } 加工规则 e_set("op_abs", op_abs(v("course_price"))) 加工结果 course_price: -4 op_abs: 4
  • 函数列表 如果值为负数,请使用op_neg(positive value)函数,例如:要表示-1,请使用op_neg(1)。 表1 算术函数列表 类型 函数 说明 多值计算比较 op_sum 对传入值进行求和操作。 基础计算 op_abs 对传入值进行绝对值操作。 op_div_floor 对传入值进行整除操作。 op_div_true 对传入值进行除法操作。 op_pow 对值进行幂值计算操作。 op_mul 对传入值进行乘法运算。 op_neg 计算传入值的相反数。 op_mod 对传入值进行模计算。 op_sub 对传入值进行减法运算。 op_round 对传入值进行四舍五入操作。 数学计算 mat_ceil 对传入值进行向上取整操作。 mat_exp 以常数e为底的指数函数。 mat_fabs 计算传入值的绝对值。 mat_floor 对传入值进行向下取整操作。 mat_log 计算传入值的对数。 mat_log10 计算以10为基数的传入值的对数。
共100000条