一、前言
本文将对Kettle6中字符串替换步骤(英文原名:Replace in String)进行详细说明。顾名思义,字符串替换即将输入流中指定字段按照特定规则替换成另外一个字符串。这种替换可以是静态的,也就是说,输入行集中的每一个行指定字段替换成同一个数据;也可以是动态的,即将输入行集中的每一个行指定字段替换称为另外一个字段的数据。
由于设置内容存在一些混淆,所以必须了解Kettle内部执行替换的逻辑顺序,避免带来误解。替换的逻辑顺序如下:
设置为空串优先级最高。也就是说,如果设置为空串选择了“是”,那么kettle直接将输出流字段设置其值为空串,立刻返回,忽略其他设置。
排名第二的是使用字段值替换。
最后,考虑“使用…替换”。
所以,三者的关系应该比较清楚了。
二、说明
1.步骤的属性对话框如下图1所示:
图1.
2.下面通过一个表格逐项解释每一个字段的含义。
三、实战
设置输入字段和输出字段如图2所示。
图2.
使用正则表达式2016-08-04T00:[0-9],替换输入行集中的所有字符串为另外一个字段的值。匹配样例如下图3:
图3.
【注意】本公众号所发文章皆为原创,如转载请注明出处及作者。
领取专属 10元无门槛券
私享最新 技术干货