在GREL表达式中,有没有合并两个数组的方法?我尝试了"a","b"+"c","d“,但是结果是一个java错误。
发布于 2019-11-21 23:13:04
简短的答案是:不能使用Grel。
下面是Grel中的"arrays" methods及其respective Java code的完整列表。添加"merge“或"append”方法应该不是很困难,但是值得吗?在一个单元格中有多个数组是非常罕见的(我从未遇到过这种情况)。
正是为了解决这种罕见但可能的情况,Open Refine提供了另外两种功能更强大的脚本语言: Jython和Clojure。在Python/Jython中,您要执行的操作非常简单,如下所示:
return [1,2,3] +[3,4,5] #result : [ 1, 2, 3, 3, 3, 4, 5 ]有没有可能/值得花点力气用一些Grel新函数让它变得更容易?
发布于 2019-11-22 00:20:23
有一种方法可以做到这一点(尽管这可能不是一个好主意):
split(join(["a","b"], "|") + "|" + join(["c","d"], "|"), "|")使用数据中未出现的分隔符将每个数组联接起来。(我已经选择了管道字符。)将得到的连接数组添加在一起,并在它们之间添加分隔符。现在,它们形成了字符串a|b|c|d。此字符串可以在|分隔符上拆分为一个新的数组。
https://stackoverflow.com/questions/58932142
复制相似问题