Replace 在Google Refine中搜索和替换多个值

Replace 在Google Refine中搜索和替换多个值,replace,openrefine,Replace,Openrefine,我想在GoogleRefine中用一个函数搜索并替换一列中的多个值 例如: 1.替换(值,“Buch”,“bibo:Book”) 2.替换(值,“Zeitschrift”,“bibo:Journal”) 3.替换(价值,“专利”,“碧波:专利”) 4.还有更多 有没有办法用一个GREL表达式来实现这一点?对于前三个表达式,您可以: value.replace("Buch", "bibo:Book").replace("Zeitschrift", "bibo:Journal").replace("

我想在GoogleRefine中用一个函数搜索并替换一列中的多个值

例如:
1.替换(值,“Buch”,“bibo:Book”)
2.替换(值,“Zeitschrift”,“bibo:Journal”)
3.替换(价值,“专利”,“碧波:专利”)
4.还有更多


有没有办法用一个GREL表达式来实现这一点?

对于前三个表达式,您可以:

value.replace("Buch", "bibo:Book").replace("Zeitschrift", "bibo:Journal").replace("Patent", "bibo:Patent")

根据你的“更多”是多少,这种模式可能就足够了。否则,您可以研究某种类型的表查找(在Python中可能比GREL更容易-只需选择Jython作为您的表达式语言即可)。

要在一行GREL中完成此操作,请执行以下操作:

replace(value,/(.+)/,"bibo:$1")
我用它来重新格式化一列带有逗号的数字字符串:

1317
2000年
1055

格雷尔式

replace(value,/(\d),(\d)/,"$1$2")
返回

1317 2000 1055


然后我可以用它作为数字。

这将产生
bibo:Buch
bibo:Zeitschrift
,这不是所要求的。