如何从 Nifi 中的流文件数据中提取子字符串?

How can I extract a substring from a flowfile data in Nifi?

我有一个包含 txt 格式数据的文件,文件中的每一行都是 1 条记录。 我正在使用 splittext 处理器将流文件拆分为 1 record/file.

我想从record.I中提取一个子串需要得到一个从开始到第n个索引的子串。

e.g.
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678910'

result flowfile for first 10 chars= abcdefghij

- 除了我尝试添加某些在线论坛中提到的属性 (att1) 之外,我在此使用默认设置。没用。

请帮忙,

您正在使用表达式语言在 ExtractText 中获取子字符串,这是不正确的。

ExtractText 的动态属性基于 RegEx 模式填充属性。

因此您可以使用模式 (.*) 将整个文本提取到名为 att1 的属性中。然后,您可以使用 UpdateAttribute 处理器使用您正在使用的相同表达式语言语句更新该属性 ${att1:substring(0,60)} - 但使用您创建的新属性的名称。

查看 ExtractText 的文档并查看动态属性部分 https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.12.1/org.apache.nifi.processors.standard.ExtractText/index.html