2012-06-27 77 views
-2

我可以看到一堆像OpenCSV,antlr,jsapar等Java解析器,但我沒有看到任何能夠指定自定義行分隔符和列分隔符的能力?我們有沒有這樣易於使用的庫。我現在不想寫一個使用Scanner或Stringtokenizer!Java簡單行解析器

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

想這上面的字符串分解成類似{{A,B},{C,d},{E,F}}

+6

您有7個問題,並沒有接受這些問題的單一答案。請接受一些答案以提高您的接受率(這是不可接受的)。 – Th0rndike

回答

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

謝謝!它可能比上面的例子更復雜..只是想知道是否有任何通用解析器都帶有分隔符併爲我完成工作。不管怎麼說,多謝拉! – Satish

0

事實上,與JSaPar你可以有兩個行分隔符的任何字符序列以及細胞分隔符。您可以指定在模式中使用哪個分隔符,它可以是任意數量的字符。

通過在兩者中使用相同的字符,您將面臨的問題是解析器將不知道您是否有換行符或者它是否只是一個空單元格。