zoukankan      html  css  js  c++  java
  • 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],' ','');

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

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

     

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

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

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

     

        row[i]=fStr;

      }

    }

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

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

     

     

    3、 截取长度

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

     

     

  • 相关阅读:
    iOS 语录
    接口的理解
    android中src和background区别
    onItemClick 参数解释
    工作空间项目不存在,eclipse中项目删不掉
    [转载] IIS来搭建一个只能实现基本功能的FTP服务器
    [转]C# FTP操作类
    [转] VS2017 打包安装程序
    笔记本睿频的关闭与开启 [转载]
    C# 线程:定时器的使用
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6949846.html
Copyright © 2011-2022 走看看