我有一列名称,例如:
我想使用openrefine创建自定义文本,将带有一个逗号的名称标记为“ true”,将所有其他名称标记为“ false”,以便我可以使用最后一个(“ .E。,Calvin F.”不是问题,稍后再处理)。
我正在尝试使用“自定义文字方面”和以下表达式:
if(value.match(/([^,]+),([^,]+)/), "true", "false")
但是结果全是假的。什么地方错了?
您正在使用的表达式:
if(value.match(/([^,]+),([^,]+)/), "true", "false")
始终将其评估为false,因为'match'函数的输出是数组或null。当用“ if”求值时,数组和“ null”都不求值为true。
您可以将match函数包装在'isNonBlank'或类似的容器中,以获取布尔值true / false,这将导致'if'函数根据需要工作。但是,一旦获得布尔值true / false,“ if”就变得多余,因为它的唯一功能是将布尔值true / false转换为字符串“ true”或“ false”-这对值函数没有任何影响自定义文字方面。
所以:
isNonBlank(value.match(/([^,]+),([^,]+)/))
应该使用match给您想要的结果
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句