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步驟能夠實現;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM