0

我需要在名为 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 处的解析错误:缺少数字、字符串、标识符、正则表达式或带括号的表达式

4

1 回答 1

2

问题可能来自您混合使用不同的引号(“ IS NOT ”,即使乍一看两者看起来非常接近)。

这个版本应该可以工作:

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")
于 2019-02-13T23:08:15.213 回答