有没有可能让CSV阅读器像这样
while((line = reader.readLine()) != null){
String[] values = line.split(",");
for(String s : values) {
data.add(s);
}但不只是一个逗号,而是每一行有不同的拆分,例如:
value/value;value=value不只是值,而是值
发布于 2012-02-14 21:24:11
String#split接受一个正则表达式作为参数,而不仅仅是一个字符串,所以您可以使用像;|/|=|,这样的表达式进行拆分。
发布于 2012-02-14 21:24:39
当然,您可以为您的混淆CSV实现一个阅读器,但文件格式不再是csv,并且您将有更多的问题来识别一组分隔符字符(它们不能是值的一部分)。
最简单的方法:编写一个编码器,它将合法的CSV转换为您自己的数据格式,并将转换回合法的CSV的解码器。
顺便说一句,你仍然可以用一条split命令来解码:
String[] values = line.split("[/;=]");split接受正则表达式作为参数。
发布于 2012-02-14 21:25:14
Split接受regexp作为String参数。例如,这将拆分您在示例中使用的任何单个字符。
line.split("[/;=]")
https://stackoverflow.com/questions/9277521
复制相似问题