KETTLE使用javascript步驟過濾特殊字元

來源:互聯網
上載者:User

標籤:kettle   pentaho   javascript步驟   字元替換   Regex   

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、 使用Regex,過濾重複字元

實際項目中遇到excel檔案中有若干個-號,數量不確定,上面的方式就不行了,replace in String步驟可以解決。useRegEx是開關,確定是否使用Regex,search 中填入運算式,replaceWith使用字串去替換。

 

 

3、 截取長度

如果資料來源的內容超過資料庫欄位長度,插入報錯,使用String cut步驟可以實現;

 

 

KETTLE使用javascript步驟過濾特殊字元

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.