Проверка разных слов в значении - PullRequest
0 голосов
/ 14 февраля 2019

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

0 голосов
/ 14 февраля 2019

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

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

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")
...