簡體   English   中英

使用BufferedReader將行拆分為兩個字符串

[英]Split lines into two Strings using BufferedReader

我想在讀取我正在使用的txt文件時將每一行拆分為兩個單獨的字符串,然后將它們存儲在HashMap中。 但是現在我似乎無法正確讀取文件。 這是我文件的一小部分:

....
CPI       Clock Per Instruction 
CPI       Common Programming Interface [IBM]
.CPI      Code Page Information (file name extension) [MS-DOS]
CPI-C     Common Programming Interface for Communications [IBM]
CPIO      Copy In and Out [Unix]
....

這就是我的代碼:

    try {
        BufferedReader br = new BufferedReader(new FileReader("akronymer.txt"));
        String line;

        String akronym;
        String betydning;
        while((line = br.readLine()) != null) {
            String[] linje = line.split("\\s+");

            akronym = linje[0];
            betydning = linje[1];

            System.out.println(akronym + " || " + betydning);
        }
    } catch(Exception e) {
        System.out.println("Feilen som ble fanget opp: " + e);
    }

我想要的是將首字母縮略詞存儲在一個String中,將定義存儲在另一個String中

如果要將拆分限制為僅兩個部分,請使用split("\\\\s+", 2) 現在你在每個空格上分割你的線,所以每個單詞都存儲在不同的位置。

問題是定義中的空格被解釋為附加字段。 你只得到linje[1]定義的第一個單詞,因為其他單詞在其他數組元素中:

["CPI", "Clock", "Per", "Instruction"]

split -two-arg重載中提供一個limit參數,在2個字段處停止:

String[] linje = line.split("\\s+", 2);

例如, linje[0]將是CPIlinje[1]將是Clock Per Instruction

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM