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

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步骤能够实现;

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值