OpenRefine 中的模式匹配 JSON

Pattern Matching in OpenRefine JSON

喜欢 OpenRefine 以及它的易用性,我一直在研究提取/应用位,这对我使用 OpenRefine 的目的非常有用。我希望它能够使用通配符来匹配应用部分中的模式。

所以在下面的示例中,我有一个名为 Cluster 的新列,其中有一些项目将是

Test
This is a test title
Test 123
123 Test

如何匹配这些并将单元格设置为测试标题,注意文本有时可能类似于 1435365736 测试标题。它不会总是有相同的开始和结束,但在标题中会有测试。

我试过了./?test./?以及围绕测试的星号,均无济于事,将不胜感激。

{
"op": "core/mass-edit",
"engineConfig": {
  "facets": [
    {
      "type": "text",
      "name": "Cluster",
      "columnName": "Cluster",
      "query": "test",
      "mode": "text",
      "caseSensitive": false,
      "invert": false
    }
  ],
  "mode": "row-based"
},
"columnName": "Title_Cluster",
"expression": "value",
"edits": [
  {
    "from": [
      "This is a test title"
    ],
    "fromBlank": false,
    "fromError": false,
    "to": "Test Titles"
  }
],
"description": "Mass edit cells in column Title_Cluster"

}

首先,我需要警告您,提取操作/应用操作工具尚未完全开发,如果用于原始数据以外的任何其他内容,则存在许多限制。

任何最终被记录为 mass-edit 的东西都不太可能用于重播不同的数据。对于这个用例,我建议使用 replace 函数之类的东西,使用正则表达式模式作为要替换的字符串,比如:

value.replace(/.*[Tt]est.*/,'Test Titles')

value.replace(/.*test.*/i,'Test Titles')

i 标志告诉正则表达式忽略大小写,方括号括起一组允许的字符。