Как получить указанные данные из файла? - PullRequest
1 голос
/ 11 сентября 2011

Я храню эти данные в файле .dat:

data = date + ": " + y + "L/100KM "+ " " + value1 + "dt "+ value2 + "KM\n";

Каждая строка имеет разные значения даты, y, значения1 и значения2.Я хочу получить переменную value1 каждой строки.Как просмотреть файл и извлечь эту переменную из всех строк.Я застрял в этой проблеме в моем проекте.Спасибо за помощь.РЕДАКТИРОВАТЬ: Пример: у меня есть 3 данные, хранящиеся в файле:

11/09: 5.8L/100KM 20dt 250KM
12/09: 6.4L/100KM 60dt 600KM
13/09: 7.5L/100KM 50dt 543KM

В этом случае я хочу получить 20dt, 60dt и 50dt.

1 Ответ

2 голосов
/ 11 сентября 2011

Вот одно предложение с использованием регулярных выражений:

String line = "12/09: 6.4L/100KM 60dt 600KM";

Pattern p = Pattern.compile("(\\d+)dt");
Matcher m = p.matcher(line);

if (m.find())
    System.out.println(m.group(1));   // prints 60

Если у вас есть несколько строк для перебора, вы должны использовать, например, new BufferedReader(new FileReader("youfile.dat")) и делать что-то вроде

String line;
while ((line = br.nextLine()) != null) {
    Matcher m = p.matcher(line);
    if (m.find())
        process(m.group(1));
}

Вы также можете просто использовать line.split(" ") и выбрать элемент 3: rd:

String line = "12/09: 6.4L/100KM 60dt 600KM";
String dtVal = line.split(" ")[2];

// Optional: Remove the "dt" part.
dtVal = dtVal.substring(0, dtVal.length() - 2);

System.out.println(dtVal);
...