Проверка разных слов в значении

Мне нужно проверить наличие разных ключевых слов в разных ячейках столбца под названием item_description. Если ячейка содержит это слово, возвращается 1. В противном случае возвращается 0

if(or(cells.item_description.value.contains("new"), cells.item_description.value.contains("5"), cells.item_description.value.contains("some")), "1", "0")

Я ожидал, что он вернет 1 или 0, но я получил сообщение об ошибке:

Ошибка разбора по смещению 95: отсутствует номер, строка, идентификатор, регулярное выражение или выражение в скобках

1 ответ

Проблема возникает, вероятно, из-за сочетания разных кавычек ("НЕТ", даже если оба на первый взгляд кажутся очень близкими).

Эта версия должна работать:

if(or(cells.item_description.value.contains("new"), cells.item_description.value.contains("5"), cells.item_description.value.contains("some")), "1", "0")

Кстати, в OpenRefine 3 (и 3.1) contains Теперь примите регулярное выражение. Таким образом, вы можете переписать свой ifelse следующим образом:

if(cells.item_description.value.contains(/new|5|some/), "1", "0")
Другие вопросы по тегам