gpt4 book ai didi

java - Camel 在正则表达式上拆分 CSV 文件

转载 作者:行者123 更新时间:2023-11-30 07:59:55 25 4
gpt4 key购买 nike

我正在处理一个案例,其中我有包含以下数据的 csv 文件

100| Some Delimited Data
200| Some Delimited Data
100| Some Delimited Data
400| Some Delimited Data
400| Some Delimited Data
200| Some Delimited Data

我正在尝试制作 Camel 路线

when 100
marshal csv & send to Bean
when 200
marshal csv & send to bean

我正在尝试用 Camel 路线。例如,当我在 XML 中执行操作时,我可以在路由中解析 XML

我不能使用 Camel-Bindy,因为我在行中没有固定的分隔符

例子

Row 1 can have 10 '|' (pipes / delimiter)
Row 2 can have 20 '|' (pipes / delimiter)
Row 3 can have 16 '|' (pipes / delimiter)

它们的长度是可变的,我在 bean 中处理过。有什么方法可以解析或使用任何正则表达式吗?

最佳答案

因为您总是使用 | 作为分隔符,您可以使用 default CSV support将内容作为列表的列表加载,然后拆分正文以将每一行作为列表,然后在您的 bean 中处理该列表(行):

<unmarshal>
<csv delimiter="|"/>
</unmarshal>
<split>
<simple>${body}</simple> <!-- Body will be a list of lists -->
<choice>
<when>
<simple>${body[0]} == '100'</simple>
<to uri="bean:processor100"/>
</when>
<when>
<simple>${body[0]} == '200'</simple>
<to uri="bean:processor200"/>
</when>
</choice>
</split>

关于java - Camel 在正则表达式上拆分 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38914239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com