删除括号

时间:2015-10-09 15:06:04

标签: openrefine

在句子末尾的列中有几个单元格在( )

内有句子

实施例。 Hello World (wwfx fgty jkilo)

输出需求为Hello World ()

2 个答案:

答案 0 :(得分:0)

您可以使用'匹配'去做这个。尴尬的一点是确保你处理有括号和没有成功括号的情况。

使用匹配:

with(value.match(/(.*)\(.*\)/)[0],w,if(isNonBlank(w),w+"()",value))

这将提取字符串中最后一个打开括号之前的所有内容。如果没有开括号,那么它只使用原始值

答案 1 :(得分:0)

不使用正则表达式的答案:

  1. 创建搜索(
  2. 的文本过滤器
  3. 创建搜索)
  4. 的文本过滤器
  5. 使用以下GREL value.split('(')[0]+'()'+value.split(')')[-1]
  6. ,其中

    • value.split('(')[0]选择第一个(
    • 之前的所有内容
    • value.split(')')[-1]选择上一个) +'()'+
    • 之后的所有内容
    • 连接两个结果并添加()