【问题标题】:Special Character filtering with null in talendtalend 中带有 null 的特殊字符过滤
【发布时间】:2016-06-24 07:05:29
【问题描述】:

我有一个很少字段的 excel。我只想提取值中具有特殊字符 ? 的那些字段。我尝试在 tmap 中使用 contains 方法,但没有设置 null 条件,但我得到了这个 NullPointer 异常,因为这些字段中还包含空白值。

这里是excel文件:

这里是 tmap 过滤:

这是错误屏幕:

【问题讨论】:

  • 目标列是否可以为空?即,您尝试存储此表达式的输出的字段是否可以为空?
  • 目标可以为空。 TMAP 刚刚有 row1.Global_Description.contains("?")||row1.Lead_Product_Segment.contains("?")。由于这个原因,我得到了 NullPointerException。所以我试图在这里处理 null,但语法不正确。我们如何在这个语句中处理 null?
  • 查看修改后的答案。

标签: java excel nullpointerexception talend tmap


【解决方案1】:

表达式构建器中的一个或两个字段中有一个空值。在执行字符串包含之前,您必须检查 null。否则会得到空指针异常

下面的表达式将产生一个布尔值 true 或 false。您可以使用此表达式过滤哪些行进入 tMap 的输出

(row1.Global_Description!=null && row1.Global_Description.contains("?"))|| (row1.Lead_Product_Segment!=null && row1.Lead_Product_Segment.contains("?"))

【讨论】:

  • 目标可以为空。 TMAP 刚刚包含 row1.Global_Description.contains("?")||row1.Lead_Product_Segment.contains("?")。由于这个原因,我得到了 NullPointerException。所以我试图在这里处理 null,但语法不正确。我们如何在这个语句中处理 null?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
  • 2018-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多