使用多个通配符过滤表列

时间:2016-11-18 13:43:08

标签: java regex filter wildcard talend

这个问题与Talend Open Studio有关,但实际上属于Regex Java代码领域。

我需要将MySQL表过滤到

  1. 在一列中排除字段名称
  2. 传递包含多个其他列中字符串中出现的关键字排列的行。
  3. 使用tMySQLInput - > tMap - > tMySQLInput使用!row1.CAT1.equals(“IT”)作为输入表达式我已经成功完成了目标1。

    我无法找到如何使用tFilterRow或任何其他组件传递通配符列表。关键词是%temp%,%recru%和%sourc%。 (我使用%,因为我的MySQL查询很熟悉。)

    我希望找到的是:row1.ColumnName.contains(%temp%|%recru%|%source%),我可以放入tMap中的变量regex表达式过滤器或tFilterRow中的高级表达式。

    我是Java编码的新手,因此非常感谢任何最佳实践/建议/代码。感谢您的帮助,我从这个社区学到了很多东西。

1 个答案:

答案 0 :(得分:0)

这有效:

row3.Var1.contains("temp") || row3.Var1.contains("recruit") || row3.Var1.contains("source") ? row3.Var1 : "" 

但这是你的要求吗?