如何从多行String中获取2d数组?

时间:2017-10-05 19:15:16

标签: java multidimensional-array

对不起我的noob问题.. 我有多列线的字符串

字符串是这样的:

1   kave    Topli napitci   7
2   sokovi  Sokovi  12
3   pive    Pive    14
4   žestice     Domaæa Žestoka P    16
7   ostalo  Hrana   50
8   vino    Vino    33
9   6   Strana Žestoka P    34

我想为每个单词获得2d数组。

我这样做:

String[] lines =string.split(System.lineSeparator());

String[] parts =  string[0].split("\t");
String[] parts1 = string[1].split("\t");
String[] parts2 = string[2].split("\t"); ....

请帮助如何在二维数组中执行此操作。

2 个答案:

答案 0 :(得分:1)

List<String[]> lines = Arrays.stream(string.split(System.lineSeparator())).map(line -> line.split("\t")).collect(Collectors.toList());
lines.toArray(new String[lines.size()][]);

答案 1 :(得分:0)

我认为最好将值直接分配给数组(但使用ArrayList),同时从文件中解析如下:

ArrayList<String[]> array = new ArrayList<String[]>;

while (file.hasNextLine()) {
   String str = file.nextLine();
   String[] strArr = str.split("\t");
   array.add(strArr);
}

这应该为您提供一个ArrayList,其中填充了在"\t"分隔符处分割的String Arrays。