第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

擴大數(shù)字范圍

擴大數(shù)字范圍

墨色風雨 2024-01-05 16:26:17
我正在嘗試解決困擾我一段時間的問題。我創(chuàng)建了一個小型解析器,它讀取.ini文件,然后將數(shù)據(jù)存儲在ArrayList. 但是,我被以下代碼片段困住了:while (!(sCurrentLine.equals("[End]"))) {    formats.add(sCurrentLine);    for (int i = 0; formats.size() > 0; i++) {    }    sCurrentLine = br.readLine();}formats現(xiàn)在這是我必須向類型添加值的地方ArrayList。將像這樣添加的值:0900.013-017=LABEL0900.018-029=LABEL現(xiàn)在范圍介于兩者之間,我還必須確?!?900”和“=label”隨著數(shù)字的擴展而重復,例如:0900.013=LABEL0900.014=LABEL0900.015=LABEL0900.016=LABEL and so on...并將其存儲回ArrayList.我不想依賴第三方庫。這個你能幫我嗎。
查看完整描述

1 回答

?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

使用正則表達式解析范圍,然后循環(huán)解析的值。需要進行一些微調(diào),但我認為這應該可以幫助您開始。


    Pattern rangePattern = Pattern.compile("([0-9]+)\\.([0-9]+)-([0-9]+)=(.*)$");

    Matcher rangeMatcher = rangePattern.matcher("0900.13-17=First label");


    if (rangeMatcher.matches()) {


        String prefix = rangeMatcher.group(1);

        int start = Integer.parseInt(rangeMatcher.group(2));

        int end = Integer.parseInt(rangeMatcher.group(3));

        String label = rangeMatcher.group(4);


        for (int r = start; r < end; r++) {

            System.out.println(prefix + "." + r + "=" + label);

        }

    }

創(chuàng)建一次模式,然后每次通過循環(huán)獲取新的匹配器。


結(jié)果:


0900.13=First label

0900.14=First label

0900.15=First label

0900.16=First label


查看完整回答
反對 回復 2024-01-05
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號