【问题标题】:Java simple line parserJava 简单行解析器
【发布时间】:2012-06-27 08:59:36
【问题描述】:

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

例如。一个 |乙 || C | D || E | F

想把上面的字符串分解成 {{A,B},{C,D},{E,F}}

【问题讨论】:

  • 您有 7 个问题,但没有接受这些问题的单一答案。请接受一些答案,以提高您的接受率(这是不可接受的)。

标签: java parsing text-parsing parser-generator opencsv


【解决方案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;
    }
}

【讨论】:

  • 谢谢!它可能比上面的例子更复杂。只是想知道是否有任何通用解析器可以同时使用分隔符并为我完成这项工作。无论如何,谢谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2011-01-07
    • 1970-01-01
    • 2011-10-25
    • 2016-03-31
    • 2012-04-29
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多