码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-06-11 08:12:14      阅读:1027      评论:0      收藏:0      [点我收藏+]

标签:kettle   pentaho   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步骤可以实现;

 技术分享

 

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

标签:kettle   pentaho   javascript步骤   字符替换   正则表达式   

原文地址:http://blog.csdn.net/neweastsun/article/details/46452887

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!