Open Refine如何比较单元格内字符串并删除指定分隔符后重复内容
OpenRefine 单元格分隔符内容去重操作方法
- 找到需要处理的目标列,点击列头右侧的下拉箭头,依次选择「编辑单元格」→「转换」
- 在弹出的表达式输入框中,录入如下GREL代码:
with( split(value, "//"), parts, if(length(parts)>=2 and trim(parts[0]) == trim(parts[1]), trim(parts[0]), value) )
上述代码逻辑说明:首先将单元格内容按
//分割为数组存入变量parts,如果分割后至少存在2段内容,且第一段和第二段去除首尾空格后完全一致,就仅返回第一段内容,否则保留原单元格内容不变。
- 可选调整:
- 若不需要忽略两段内容的首尾空格差异,直接删除代码中所有
trim()函数即可 - 若单元格内可能存在多个
//,需要所有分段内容完全一致才保留第一段,可将判断条件替换为length(parts) > 1 and all(parts, p, trim(p) == trim(parts[0]))
- 若不需要忽略两段内容的首尾空格差异,直接删除代码中所有
- 点击「确定」即可批量完成整列处理,建议操作前先复制原列生成备份,避免数据丢失。
内容的提问来源于stack exchange,提问作者Hev
相关产品推荐
相关产品推荐

