我正在尝试从当前单元格(这是歌曲名称)中不区分大小写地删除单元格“艺术家”的值。我知道replace()
可以将正则表达式作为参数(https://github.com/OpenRefine/OpenRefine/wiki/GREL-String-Functions#replacestring-s-string-f-string-r),我可以(?i)
用于不区分大小写的模式.
但是如何replace()
知道它的参数是正则表达式还是纯字符串呢?我见过的所有示例都/.../
用于表示正则表达式,但我需要通过连接 cell 来制作“动态”正则表达式artist
。所以这些不起作用:
value.replace('(?i)'+cells['artist'].value+,"")
value.replace('((?i)'+cells['artist'].value+')',"")
value.replace('/(?i)'+cells['artist'].value+'/',"")
我更喜欢用 GREL 来做这件事,但是 Python/jython 的解决方案也可以。谢谢!