我是Mulesoft的新手。 我有一个平面文件 -
RHR001NTT PQR 2018090920180505
STR0010057830DFLT 74253J461000490
STR0020000000000000000000000000000000
我想迭代每一行然后我想让每一行从一个位置到另一个位置得到子串。例如。在第一行中,我想要从第6列到第12列的子串。
我正在尝试新事物。我用分离器组件分隔每一行
#[StringUtils.split(message.payload, '\n\r')]
现在我想从一行到另一个位置从每一行获取子串。
我不知道现在该怎么办?还有其他方法吗?我听说过For-Each组件。我对For-Each和Splitter组件没有任何经验或想法。
请帮帮我。谢谢!
答案 0 :(得分:0)
此配置可能会有所帮助。这将迭代每一行,变换器按“”分割。这会给你一个数组。请注意Foreach中For-Each逗留的有效负载,并且不会存在于其外部。
http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd“>
<flow name="xyzFlow">
<set-payload value="#[StringUtils.split(message.payload, '\n\r')]" doc:name="Set Payload"/>
<foreach collection="#[payload]" doc:name="For Each">
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload splitBy " "]]></dw:set-payload>
</dw:transform-message>
</foreach>
</flow>