我可以看到一堆 Java 解析器,如 OpenCSV、antlr、jsapar 等,但我没有看到任何能够同时指定自定义行分隔符和列分隔符的解析器?我们有任何这样易于使用的库吗?我现在不想用 Scanner 或 Stringtokenizer 写一个!
例如。一个 | 乙 || C | D || E | F
想把上面的字符串分解成 {{A,B},{C,D},{E,F}}
我可以看到一堆 Java 解析器,如 OpenCSV、antlr、jsapar 等,但我没有看到任何能够同时指定自定义行分隔符和列分隔符的解析器?我们有任何这样易于使用的库吗?我现在不想用 Scanner 或 Stringtokenizer 写一个!
例如。一个 | 乙 || 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 ,您可以为行分隔符和单元格分隔符设置任何字符序列。您指定要在架构中使用的分隔符,它可以是任意数量的字符。
在两者中使用相同字符将面临的问题是解析器将不知道您是否有换行符或者它是否只是一个空单元格。