我需要拆分一个包含订单的 CSV 文件(我将其读为字符串)。这个 CSV 的解析规则并不复杂:
每个订单有多行(无固定行数)
每个命令都以一行开头(发起者):
111;222;dynamic content
每个订单以两行结束(终止符):
111;333;dynamic content
111;333;dynamic content
发起者和终止者必须包含在分裂的结果中。
[编辑]
我不需要使用正则表达式。这只是我的第一个想法。如果更容易的话,我也可以使用另一种解决方案。
[/编辑]
我对正则表达式没有太多经验,所以即使开始也需要很长时间:-(
例如,我尝试了以下操作:
String[] parts = body.split("111;333;.*111;333;");
预期结果:Splitter 为 111;333;至 111;333; - 请记住,每个订单以两行结束,均以 111;333; 开头因此,在我看来,String[] 应该包含正确的订单数量。然而,数组中只有一个字符串包含所有内容。
我尝试了其他一些正则表达式,但无法得到好的结果。有人可以帮助我并告诉我此拆分的正则表达式吗?谢谢...
此致,
凯
我真的不鼓励您使用正则表达式尝试此任务。有许多 Java 库可以为您执行此操作。这些库经过测试并且非常知名。只需取其中任何一个即可。您将节省时间和精力。我有很好的使用经验opencsv http://opencsv.sourceforge.net/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)