Java简单行解析器

问题描述 投票:-2回答:2

我可以看到一堆Java解析器,例如OpenCSV,antlr,jsapar等,但是我看不到能够同时指定自定义行分隔符和列分隔符的那些解析器吗?我们有任何这样易于使用的库吗?我现在不想使用Scanner或Stringtokenizer编写一个!

例如A | B || C | D || E | F

想要将上述字符串分解为类似{{A,B},{C,D},{E,F}}的事物]

java parsing text-parsing parser-generator opencsv
2个回答
1
投票

您可以自己解析它,实现起来非常简单。我尚未实际测试此代码,您可以自己尝试。

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;
    }
}

0
投票

实际上,使用JSaPar,行分隔符和单元格分隔符都可以具有任何字符序列。您可以指定要在架构中使用的定界符,并且可以是任意数量的字符。

两者都使用相同的字符将面临的问题是,解析器将不知道您是否有换行符或它只是一个空单元格。

© www.soinside.com 2019 - 2024. All rights reserved.