如何使用在java中有时会更改为CSV格式的模式格式化大字符串

如何使用在java中有时会更改为CSV格式的模式格式化大字符串,java,string,csv,formatting,Java,String,Csv,Formatting,我有一个非常大的字符串,它是解析的结果,我想将它格式化为csv格式,数据是类信息,目前只是如下所示,它有一个模式,但在一些情况下是不规则的。例如,下面我有三个案例,前三行是大多数数据的样子(类名、时间、日期),但有些案例如中间案例所示,添加了额外的时间和日期行(类名、时间、日期、时间、日期),如最后一个案例所示,有些类没有时间和日期。(实际上数据之间没有空行,我把它放在那里是为了显示不同的情况) 如何将这些数据转换为csv文件,例如,上述输入的格式就是这样的 CHM 110 - 10, 9:30

我有一个非常大的字符串,它是解析的结果,我想将它格式化为csv格式,数据是类信息,目前只是如下所示,它有一个模式,但在一些情况下是不规则的。例如,下面我有三个案例,前三行是大多数数据的样子(类名、时间、日期),但有些案例如中间案例所示,添加了额外的时间和日期行(类名、时间、日期、时间、日期),如最后一个案例所示,有些类没有时间和日期。(实际上数据之间没有空行,我把它放在那里是为了显示不同的情况)

如何将这些数据转换为csv文件,例如,上述输入的格式就是这样的

CHM 110 - 10, 9:30 am - 10:45 am, Thursday  

CSC 150 - 04,10:30 am - 11:45 am, Monday, 11:30 am - 12:45 am, Wednesday 

BIO 132 - 01

我不确定我是否想得太多了,但我在想,既然每个类都有一个名字,三个大写字母,三个数字,一个破折号和两个数字,它能不能从那里分开,放到一行,然后加上逗号

可以使用正则表达式模式提取每一行,该模式查找给定模式的零或一次出现


模式可以以3个字符的字母、数字、时间开始,以星期几结束。这可以解决以所需格式提取数据的问题。

可以使用正则表达式模式提取每一行,该模式查找给定模式的零或一个匹配项


模式可以以3个字符的字母、数字、时间开始,以星期几结束。这可以解决以所需格式提取数据的问题。

在这种情况下,为什么不使用空行作为记录的分隔符?@dhrubajyotigogi实际上数据之间没有空行,我只是将其放在那里以分割不同的案例,但是如果它确实有空行,这是个好主意。然后用大写字母的前3个字母作为记录开始的标记。在这种情况下,为什么不使用空行作为记录的分隔符?@dhrubajyotigogi实际上数据之间没有空行,我只是把它放在那里以分割不同的大小写,但如果它确实有空行,那就好了。然后用大写字母的前3个字母作为开始记录的标记
CHM 110 - 10, 9:30 am - 10:45 am, Thursday  

CSC 150 - 04,10:30 am - 11:45 am, Monday, 11:30 am - 12:45 am, Wednesday 

BIO 132 - 01