如何从每个逗号分隔行中读取前两个词和后两个词?

How to read first two words and last 2 words from each comma seperated line?

我有一个包含以下内容的 .txt 文件:

NO,6549,Kristiansund,N,Møre,og,Romsdal,08,Kristiansund,1505,63.1101,7.7552
NO,6364,Vistdal,Møre,og,Romsdal,08,Molde,1506,62.7107,7.9319
NO,6365,Vistdal,Møre,og,Romsdal,08,Molde,1506,62.7107,7.9319
NO,6401,Molde,Møre,og,Romsdal,08,Molde,1506,62.7371,7.0068,4
NO,6402,Molde,Møre,og,Romsdal,08,Molde,1506,62.7371,7.0068,4
NO,6403,Molde,Møre,og,Romsdal,08,Molde,1506,62.7371,7.0068,4
NO,8502,Narvik,Nordland,09,Narvik,1806,68.4271,17.4349,4
NO,8503,Narvik,Nordland,09,Narvik,1806,68.4271,17.4349,4
NO,8504,Narvik,Nordland,09,Narvik,1806,68.4271,17.4349,4

我想从每行的开头提取前两个词,然后我还想提取每行的最后两个词。

我想要的前两个词是:NO 和所有以 66549 等和 88502 开头的数字等等

但是从行尾开始,我实际上想要纬度和经度,但对于某些行,行尾有 4。我不要他们。知道我该怎么做吗?我想创建对象所以我有这个 java 对象 class:

public class GeoData {
    private String landskode;
    private String postnummer;
    private String latitude;
    private String longitude;
}

到目前为止我的以下代码是:

try (BufferedReader br = new BufferedReader(new InputStreamReader(file.getInputStream()))) {

        // TXT file delimiter
        String DELIMITER = ",";

        // read the file line by line
        String line;
        while ((line = br.readLine()) != null) {

            // convert line into columns
            String[] columns = line.split(DELIMITER);

            // print all columns
            System.out.println("GeoData["+ String.join(", ", columns) +"]");
        }

    } catch (IOException ex) {
        ex.printStackTrace();
    }

前两个应该是 columns[0]columns[1]。然后,要检查最后一个字段是否是普通的“4”,您可以使用 columns[columns.length - 1].equals("4")。根据这是真还是假,lat/long 是 columns[columns.length - 3]columns[columns.length - 2]columns[columns.length - 1]columns[columns.length - 2]