我可以看到一堆Java解析器,如OpenCSV,antlr,jsapar等,但我没有看到任何能够同时指定自定义行分隔符和列分隔符的解析器?我们有没有这样易于使用的库。我现在不想用扫描仪或字符串标记器写一个!
例如。一 |乙 ||C |D ||E |F
想要将上面的字符串分解为类似 {{A,B},{C,D},{E,F}} 之类的东西
您可以自己解析它,实现起来非常简单。我还没有实际测试过这段代码,你可以自己尝试一下。
line_delimiter = "||";
column_delimiter = "|";
String rows[];
rows = str.split(line_delimiter);
for (int i = 0; i < rows.length; i++) {
String columns[];
columns = rows[i].split(column_delimiter);
for (int j = 0; j < columns.length; j++) {
// Do something to your data here;
}
}
实际上,使用 JSaPar,您可以为行分隔符和单元格分隔符设置任何字符序列。您可以指定要在架构中使用的分隔符,它可以是任意数量的字符。
在两者中使用相同的字符将面临的问题是,解析器将不知道您是否有换行符或它只是一个空单元格。