使用GREL是否可以获取数组的最长字符串? 例如,如果我有一个包含3个字符串的数组[“ a”,“ aaa”,“ aa”],则我想获得“ aaa”。
答案 0 :(得分:0)
您可能会以非常复杂的公式为代价来做到这一点。面对这种情况,Open Refine添加了Python(和Clojure)作为脚本语言。即使您不了解Python,也可以在两分钟内找到问题"how to choose the longest string in list?"的答案,只需复制并粘贴(通过添加“ return”而不是“ print”)
在这种情况下:
return max(['a','aaa','aaaa','aa'], key=len)
编辑
仅出于挑战的考虑,这是使用GREL的可能解决方案。
value = "a,aa,aaaa,aa"
forEach(value.split(','), e, if(length(e)==sort(forEach(value.split(','), e, e.length()))[-1], e, null)).join(',').split(',')