如何在OpenRefine中按最后一个空格拆分单元格提取标题与作者?
OpenRefine 拆分标题与作者列的方法
针对你给出的两行数据:
ABGB: Praxiskommentar Schwimann/?Kodek
AHG Amtshaftungsgesetz: Praxiskommentar Ziehensack
可以用两种GREL表达式实现拆分:
方法1:数组拆分拼接
- 提取作者列:直接取最后一个空格后的内容,你的原有表达式可保留,或者更严谨的写法:
value.split(' ')[-1] - 提取标题列:取拆分后除最后一个元素外的所有部分,再用空格拼接:
join(value.split(' ')[0..-2], ' ')
方法2:正则表达式匹配
利用正则匹配「标题部分(任意字符直到最后一个空格)+ 作者部分(无空格的最后一段)」的结构,精准度更高:
- 提取标题列:
value.match(/^(.*)\s+(\S+)$/)[0] - 提取作者列:
value.match(/^(.*)\s+(\S+)$/)[1]
操作提示
在OpenRefine中选中目标列,点击「编辑列」→「添加基于此列的列」,分别输入上述表达式并设置新列名(如「标题」「作者」),即可完成拆分。
内容的提问来源于stack exchange,提问作者Julia Jungwirth
相关产品推荐
相关产品推荐

