我想从Excel文件中提取一些文本(在ConvertToCsv和SplitText处理器之后)。 在拆分处理器之后,其中一些行是这样的:“Compétencesclés:capacence1,capeence2,competence3”以及逗号之间的列表。我只想获取列表,然后将其拆分。
我已经在Regex101上测试了这个简单的正则表达式:“Compétencesclés:(。*)”,它接受了这些术语之后的所有内容,因此它返回了列表。 但是,当我在NiFi中尝试该功能时,即使前面的步骤可以正常工作,我的流文件中也没有任何东西。
我在处理器的配置中做错了吗?我想念什么?
答案 0 :(得分:1)
首先,附加的工作流图像没有完整的流程,因此我不确定在ExtractText处理器之后会发生什么。
您还提到您没有从ExtractText处理器获得任何流入流文件的信息。因此,我假设您希望正则表达式的结果是一个新的流文件列表。 -答案是基于此;如果这不是您想要的东西,请告诉我。
ExtractText处理器:根据FlowFile的内容评估一个或多个正则表达式。这些正则表达式的结果将分配给FlowFile属性。属性名称映射到将要放置结果的属性名称。
根据描述,正则表达式的结果存储在流文件属性中;您的情况下的“ regex”和具有修改后属性的实际流文件将路由到下游处理器。
要将此属性值用作流文件,请使用ReplaceText处理器创建一个仅具有属性值作为内容的新流文件。
成功后,ReplaceText处理器会将更新后的流文件发送到下游处理器。
答案 1 :(得分:0)
我找到了问题的根源。显然这是一个编码问题,并且我的数据流中没有正确读取重音符号,这就是为什么“Compétencesclés”没有匹配的原因。但是,当尝试使用“ Comp.tences cl.s”时,它可以工作。对于以下内容,我确实使用了ReplaceText处理器来获取属性值。