Replace 在Google Refine中搜索和替换多个值
我想在GoogleRefine中用一个函数搜索并替换一列中的多个值 例如: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("
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")
我用它来重新格式化一列带有逗号的数字字符串:
13172000年
1055 格雷尔式
replace(value,/(\d),(\d)/,"$1$2")
返回
1317
2000
1055
然后我可以用它作为数字。这将产生
bibo:Buch
和bibo:Zeitschrift
,这不是所要求的。