2011-05-03 67 views
1

如果我有一个文件,我正在使用字符串标记器来获取逗号之间的值。它是一个csv文件。这里是样本输入:java字符串标记器

test,first,second,,fourth,fifth 

所以我怎么能捕捉到空的逗号?现在它只是假装什么都没有。它甚至没有看到有一个地方没有任何东西。

+0

你可以发布令牌化代码吗? – 2011-05-03 15:41:28

+1

首先:这是作业还是现实生活?这在问题的回答方式上会产生巨大的差异 – 2011-05-03 15:43:18

+0

[Java中的CSV解析 - 工作示例..]的可能重复(http://stackoverflow.com/questions/843997/csv-parsing-in-java-working例如) – 2011-05-03 15:53:03

回答

4

使用String#split()将被推荐使用StringTokenizer。

String[] s = "test,first,second,,fourth,fifth".split(","); 
System.out.println(Arrays.asList(s)); 
System.out.println(s.length); 

// output: 
// [test, first, second, , fourth, fifth] 
// 6 

另外,如果你在你的代码,更多地参与CSV解析,如果可能的话,尽量使用现有的库像JavaCSV

1

我不知道我是否正确理解你的问题。我会使用像opencsv这样的知名软件包。

0

分割技术很好,只要你的元素里面没有逗号。您可以使用现有的库。使用正则表达式处理CSV也有很好的效果。