我在CSV中有一些不干净的数据。
line.split()通常会返回X列。但有时数据的结尾被删除意味着它将返回X-y列。这使得应用程序抛出异常。
有没有办法知道line.split()返回了多少列或String []中有多少列?
答案 0 :(得分:1)
如果您想知道刚刚使用的分割字符串的数量:
String splittedStrings[] = line.split();
int splitCount = splittedStrings.length;
但这取决于你的csv数据。如果正确,则splitCount
将是您期望的列数,否则您可能会遇到分隔符问题,并且您将获得不同的数字。
答案 1 :(得分:0)
您可以根据需要使用length
属性;)
如果您的索引包含""
,那么您必须先检查所有值并从表中删除所有""
值,以确保数据的完整性。
例如:
String line = "plop plop";
String mySplit[] = line.split(" ");
int nbSplit = mySplit.length;
System.out.println(nbSplit);
答案 2 :(得分:0)
使用line.split()。count,你将获得数组的大小。
答案 3 :(得分:0)
有两件事可以帮助: 1)您的列数据不应包含拆分字符,否则将生成更多列。 2)您可以通过split方法的limit参数限制列数。