1

在我的 nifi 流程中,我需要为特定列执行名称标准化。示例包括:

  1. 制作名称标题大小写
  2. 如果它在诸如 donald 之类的东西之前包含 mc,则将其设为 McDonald 和其他此类东西。

如何在更新记录处理器中一次性执行所有这些?此外,我没有看到任何用于在 nifi 表达语言中制作名称标题的功能。我只看到上和下。我如何构建逻辑?我需要为此制作自定义属性吗?请告诉我。谢谢。

4

1 回答 1

0

可以使用WordUtils.capitalizeFully方法。还要检查这个问题

ScriptedTransformRecord处理器:

  • Record ReaderJsonTreeReader
  • Record WriterJsonRecordSetWriter
  • Script LanguageGroovy
  • Script Body
import org.apache.commons.lang3.text.WordUtils

record.setValue("text", WordUtils.capitalizeFully(record.getValue("text")))
record

例子

输入json

[
  {
    "text": "man OF stEEL"
  },
  {
    "text": "hELLo"
  }
]

输出json

[
  {
    "text": "Man Of Steel"
  },
  {
    "text": "Hello"
  }
]
于 2022-02-01T10:36:25.817 回答