2009-09-18 61 views
1

此問題涉及Talend Open Studio代碼。無法使用正則表達式篩選Talend Open Studio中的文件名

我使用tSendmail組件作爲子作業,需要在父作業失敗時運行(tFtpPut)。但是,在tFtpPut中,文件名由文件名掩碼過濾(例如,如果我將Ee *作爲掩碼,它將上載名爲Eedoh的文件),但在tSendMail中不是這種情況。

我知道tFtpPut使用文件系統中的特殊字符來創建文件名掩碼,而tSendMail應該使用Java正則表達式。問題是(正如我在源代碼中看到的),List.add(String)函數用於添加文件名,所以我不能在.add函數中使用regex作爲參數。

所以,我需要上傳所有名稱匹配正則表達式的文件。

順便說一句,我試圖改變源代碼(試着迭代整個文件夾,並添加名稱匹配正則表達式的所有文件),但它沒有幫助,一個錯誤發生在其他地方,我無法跟蹤問題。

回答

0

對於這個問題,我會在組件(FTP和sendMail)之前創建一個regexpr過濾器。

在「高級模式」中使用tFilterRow組件非常容易。您的過濾條件是inputrow.filenamefield.matches("java_regexpr")

該外部過濾器對於兩個組件都是相同的,並且您不必再使用FTP組件的特定過濾器。