无法使用正则表达式在Talend Open Studio中过滤文件名

时间:2009-09-18 09:58:31

标签: java regex filenames attachment

此问题与Talend Open Studio代码有关。

我使用tSendmail组件作为子作业,需要在父作业失败时运行(tFtpPut)。但是,在tFtpPut中,文件名被文件掩码过滤(例如,如果我将Ee *作为掩码,它将上传名为Eedoh的文件),但在tSendMail中则不是这样。

我知道tFtpPut使用文件系统中的特殊字符来创建文件名掩码,而tSendMail应该使用Java正则表达式。问题是(正如我在源代码中看到的),List.add(String)函数用于添加文件名,因此我不能在.add函数中使用正则表达式作为参数。

所以,我需要上传所有名称与正则表达式匹配的文件。

顺便说一下,我试图更改源代码(尝试迭代整个文件夹并添加名称与正则表达式匹配的所有文件),但它没有帮助,错误在其他地方发生,我无法跟踪问题。

1 个答案:

答案 0 :(得分:0)

对于那个问题,我会在组件(FTP和sendMail)之前创建一个regexpr过滤器。

在“高级模式”下使用tFilterRow组件非常容易。您的过滤条件为inputrow.filenamefield.matches("java_regexpr")

这两个组件的外部过滤器是相同的,您不再需要使用FTP组件的特定过滤器。