您的位置:首页 > Web前端 > JavaScript

KETTLE使用javascript步骤过滤特殊字符

2017-06-06 09:23 1171 查看
KETTLE使用javascript步骤过滤特殊字符

使用kettle在抽取大量excel数据时。总是遇到excel中有一些特殊字符,导致ExecuteSQL script步骤运行失败,本文记录一些方法过滤一些特殊字符。

同行有更好的方式实现,欢迎指点。共同学习。

完整的实现转换截图例如以下



1、 使用javascript步骤过滤全部string字段的字符

使用javascript步骤能够通过代码来实现,避免添加过多的步骤。且一次性过滤全部的字段;代码例如以下:

for (vari=0;i<getInputRowMeta().size();i++){
/

var valueMeta=
getInputRowMeta().getValueMeta(i);

if (valueMeta.getTypeDesc().equals("String")) {

var fStr= row[i];

fStr=replace(row[i],'\n','');

fStr=replace(fStr,'\r','');

fStr=replace(fStr,'\t',' ');

fStr=replace(fStr,';',';');

fStr=replace(fStr,'·','');

fStr=replace(fStr,"'","''");

row[i]=fStr;

}

}

2、 使用正則表達式。过滤反复字符

实际项目中遇到excel文件里有若干个-号。数量不确定。上面的方式就不行了,replace in String步骤能够解决。useRegEx是开关。确定是否使用正則表達式。search 中填入表达式。replaceWith使用字符串去替换。



3、 截取长度

假设数据源的内容超过数据库字段长度,插入报错,使用String cut步骤能够实现;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: