如果它们的列数不同,如何在Java中拆分多个制表符分隔的行?

时间:2016-10-11 15:30:38

标签: java split

我有一个以制表符分隔的文本文件,但每行上有不同数量的列。这是一个例子:

1 :     2   16  17  24  31  34  40  41  45  47  48
2 :     1   3   4   5   6   7   8   13  18  20  22  28  33  35  37  38  42  44  46  49
3 :     2   10  12  16  17  19  24  25  29  31  34  40  41  45

我想使用split函数,就像我在这里做的另一个任务一样:

String[] words = line.split("\t");
col1 = Integer.parseInt(words[0]);
col2 = Integer.parseInt(words[1]);
col3 = Integer.parseInt(words[2]);
col4 = Integer.parseInt(words[3]);

这会将每一行从一行放入另一个变量中。我想做同样的事情,但我不知道如何使用不同数量的列来做到这一点。

1 个答案:

答案 0 :(得分:3)

正如评论中所说,你对自己的所作所为非常满意。如果你真的想以某种方式存储你的Integer值,你可以简单地使用一个Integer数组,并用这样的循环填充它:

String[] words = line.split("\t");
int[] numbers = new int[words.length];
for (int i = 0; i < words.length; i++)
{
    numbers[i] = Integer.parseInt(words[i]);
}

整个事情都在你用来迭代你的线的循环中。

我认为你不需要比数组更复杂的东西。