Java 解析复杂的CSV文件

Java 解析复杂的CSV文件,java,parsing,Java,Parsing,我现在的处境很困难,我需要制作一个解析器来解析来自tekla的格式化文档,以便在数据库中进行处理 所以在.CSV上我有这个 ,SMS-PW-BM31,,1,,,,287.9 ,,SMS-PW-BM31,1,H350*175*7*11,SS400,5805,287.9 ,------------,--------------,----,---------------,--------,------------,--------- ,SMS-PW-BM32,,1,,,,405.8 ,,SMSPW-H

我现在的处境很困难,我需要制作一个解析器来解析来自tekla的格式化文档,以便在数据库中进行处理

所以在.CSV上我有这个

,SMS-PW-BM31,,1,,,,287.9
,,SMS-PW-BM31,1,H350*175*7*11,SS400,5805,287.9
,------------,--------------,----,---------------,--------,------------,---------
,SMS-PW-BM32,,1,,,,405.8
,,SMSPW-H707,1,H350*175*7*11,SS400,6697,332.2
,,SMSPW-EN12,1,PLT12x175,SS400,500,8.2
,,SMSPW-EN14,1,PLT16x175,SS400,500,11
,------------,--------------,----,---------------,--------,------------,---------
这是由tekla软件生成的文档。我对输出的期望是这样的

HEAD-MARK      COMPONENT-TYPE  QUANTITY  PROFILE        GRADE     LENGTH     WEIGHT 
SMS-PW-BM31                    1                                             287.9
SMS-PW-BM31    SMS-PW-BM31     1         H350*175*7*11  SS400     5805       287.9
SMS-PW-BM32                    1                                             405.8
SMS-PW-BM32    SMSPW-H707      1         H350*175*7*11  SS400     6697       332.2
SMS-PW-BM32    SMSPW-EN12      1         PLT12X175      SS400     500        8.2
SMS-PW-BM32    SMSPW-EN14      1         PLT16X175      SS400     500        11
如何从Java开始?最复杂的事情是分配由“-”分隔的头标记。

非常简单,有一个列分隔符是逗号(
)和一个行分隔符是新行(
\n
)。有些列将被引号(
)包围,以包含列数据,但考虑到当前文件,您似乎不必担心这一点


仔细阅读,你会在仔细思考后找到答案。

如果你自己根本没有尝试过这一点,你在这里不会得到太多帮助。如果你尝试过某件事,请公布你迄今为止所做的以及哪些不起作用。@Takendark我现在会尝试这样做,非常感谢
String#split
可以帮助你。。看见