Фильтрация специальных символов с нулем в talend

У меня есть Excel, который имеет несколько полей. Я хочу извлечь только те поля, которые имеют специальный символ ? в значениях. Я попытался с помощью метода содержимого в tmap, не помещая условие для нуля, но я получаю это исключение NullPointer, поскольку поля также содержат пустые значения в этих полях.

Вот файл Excel:

Вот фильтрация tmap:

Вот экран ошибки:

1 ответ

Решение

Одно или оба поля в вашем конструкторе выражений имеют нулевое значение. Вы должны проверить на ноль, прежде чем выполнять строку содержит. В противном случае он получит исключение нулевого указателя

Выражение ниже выдаст логическое значение true или false. Вы можете использовать это выражение, чтобы отфильтровать, какие строки идут на вывод tMap

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

Другие вопросы по тегам