【发布时间】:2020-10-08 01:41:06
【问题描述】:
如何在 Apache Nifi 中提取名称目录? 我想从流文件的“绝对路径”属性中提取名称,并将其保存为同一个流文件的属性。
例如:absolute.path 的值为“C:\Users\01_SEG\2019” 并将它们放入新属性中,例如:year= 2019, time=01_SEG
我尝试使用“UpdateAttribute”中的 replaceAll 函数从“absolute.path”中提取信息,但无法识别带有 () 的组。我不知道如何操作 NiFi 中正则表达式中的组和 NiFi 中的属性。 比如我想删除目录的最后两个名字,但是不行。
${'absolute.path':replaceAll('(\\[0-9]{2}_SEG)(\\([0-9]{4}\/)$)','')}
此表达式适用于任何 Java 正则表达式,但在这里不行。 如果我尝试类似:
time = ${"absolute.path":replaceFirst(".*\\(.*)\\\d{4}", "$1")}
有如下错误: Error
【问题讨论】:
-
请出示您使用的代码。
-
谢谢,知道代码可用。 @WiktorStribiżew
标签: regex apache-nifi