Проверка разных слов в значении
Мне нужно проверить наличие разных ключевых слов в разных ячейках столбца под названием 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")