能力说明

功能简介

根据一个字段的内容,进行批量条件的匹配,匹配的条件对应的替换值,写入另一个字段中

常见情境:

1.要批量将1980~1989开头的日期,输出为“80后”,同理“90后”,“00后”

2.要将0,1 替换成 男、女

配置参数

参数名称 参数类型 是否必填 默认值 参数说明
要检查的字段 string 能力输入字段,用户匹配规则
替换后存储的字段 string 经过匹配后,将最终值写入哪个字段
替换条件 json 描述替换条件的json,能力界面以表格的形式展现

输入简介

JSON对象格式的数据(json数组不支持)

关于替换条件

替换条件结构如下如下

[{
        "target_value": "男",
        "condition_type": "enum",
        "condition_value": ["man","1","male"]
    }, {
        "target_value": "女",
        "condition_type": "enum",
        "condition_value": ["woman","0","female"]
    }
]

上述例子是一个拥有两条条件的配置结果,分别对应了男女两项配置条件,其中含义为

target_value(替换值):匹配条件后,写入输出字段的最终值

(新增功能:若替换值是被双层中括号包裹的,则认为中括号内部是字段名,会使用源数据内的对应字段值作为替换值,例如[[format_content]],但若此字段不存在,则直接按失败处理并抛出异常)

condition_type(检查类型):支持四种,分别是枚举、正则、时间范围、数值范围

condition_value(检查条件):根据检查类型的不同,内部值的含义也不同

关于替换条件的各种检查类型

1.枚举

用户给出若干匹配字段的值,程序检查输入字段是否与用户给出的匹配值相等,若相等,则输出处替换的最终值

例如,上述例子中,当发现输入字段是 "man" 或 "male" 或 "1" 的时候,就会输出 "男",若不是,则检查下一条关于"女"的规则

多条规则时,从上到下只要匹配到一条,则不再进行其余的匹配,直接输出

2.正则匹配

对用户给出的正则,对能力输入字段进行完整匹配,匹配成功则输出替换的最终值

3.时间范围

该功能要求输入字段严格符合 yyyy-MM-dd HH:mm:ss 的格式,也就是说,最好在能力前面使用“时间归一化”将字段做标准化

若能力输入字段的时间处于用户设置的两个时间内,则匹配成功。注意:该匹配是包含两个边界时间点的

4.数值范围

同时间范围一致,要求输入字段必须是数字(或存有数字的字符串),不能混有字母和中文等

目前仅支持正整数匹配

若能力输入数值处于用户指定两值范围内的时候,则匹配成功。同理此匹配也是包含两个边界值的

5.正则替换

对用户给出的正则和替换值,对能力输入字段进行正则替换(效果同正则替换能力),和前4个不同之处在于,替换成功后不会停止,而是会执行下一个匹配或替换条件

输入数据样例

{
    "sex":"man"
}
{
    "sex":"woman"
}

输出简介

本能力会将数据按 “替换成功”,“未替换”,“失败” 三类输出到不同的队列中

输出数据样例

{
    "sex":"man",
    "sex_cn":"男"
}
{
    "sex":"woman",
    "sex_cn":"女"
}

相关能力

时间归一化 正则替换

参考指标

  • 数据质量:100%

  • 处理性能:未知

附加说明

2024年5月14日

  1. 对target_value(替换值)进行了增强:若替换值是被双层中括号包裹的,则认为中括号内部是字段名,会使用源数据内的对应字段值作为替换值,例如[[format_content]]

2024年4月29日

  1. 增加正则替换功能(正则替换可以不中断,也就是会把所有替换都跑完,只要不遇到其他类型的匹配规则)

  2. 修正了当替换值内有< >这类html字符时,下方表格显示不出来的问题

  3. 替换目标值可以留空

  4. 替换条件可以编辑和调整顺序

增加备注字段

results matching ""

    No results matching ""