Wyszukiwanie wartosc w stringu

Wyszukiwanie wartosc w stringu
MB
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 9 lat
  • Postów:45
0

Cześć,

mam plik struktury:

Kopiuj
Samochod=Opel,Model=Asta,Pojemnosc=1600,Drzwi=5;
Samochod=Ford,Model=Focus,Pojemnosc=1900,Drzwi=5;

itd...

Potrzebuje z tego odczytac tylko ilosc drzwi z poszczegolnych, nic wiecej. Napisałem coś takiego:

Kopiuj
public class Test {
    private static final Pattern DEFAULT_VALUE_PATTERN = Pattern
            .compile("()(\\d+);");

    private static Vector<Integer> extractDefaultValueFrom(String text) {
        String[] modelArray = text.split("\n");
        Vector<Integer> door = new Vector<>();
        for (int i = 0; i < modelArray.length; i++) {
            Matcher matcher = DEFAULT_VALUE_PATTERN.matcher(modelArray[i]);
            if (matcher.find()) {
                String temp = matcher.group().substring(0,
                        matcher.group().length() - 1);
                door.add(Integer.parseInt(temp));

            }
        }
        return door;
    }

    public static void main(String[] args) {
        String model = "Samochod=Opel,Model=Asta,Pojemnosc=1600,Drzwi=5;\nSamochod=Ford,Model=Focus,Pojemnosc=1900,Drzwi=4;\n";
        for (Integer x : extractDefaultValueFrom(model))
            System.out.println(x);
    }
}

Kod jest ok czy moglbym jakos to poprawic ?
Prosze o wskazowki :-)

hcubyc
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 3 lata
1

http://www.mkyong.com/java/how-to-read-and-parse-csv-file-in-java/
Czyli generalnie operacjach na plikach csv


Limitations are limitless > ##### Ola Nordmann napisał(a)
> Moim językiem ojczystym jest C++ i proszę uszanować to, że piszę po polsku.
MB
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 9 lat
  • Postów:45
0

Dzięki :) i tak bym zrobił ale akurat nie przyda mi się tym razem bo mam zmienną ilość danych w tekście (jednym wierszu) - z tym że zawsze kończy się na ilości drzwi i znaku ; i wczytuje tylko jedna wartość.

Inny pomysł to szukanie przez indexOf i ograniczaniu do średnika ale kiepsko będzie to wyglądało raczej.

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Jeśli zawsze kończy się czymś takim drzwi=nnnn; to ja bym spróbował n=lastIndexOf("=") oraz indexOf(";",n).


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
init0
  • Rejestracja:prawie 12 lat
  • Ostatnio:13 dni
  • Lokalizacja:2 Sm 12
0

Raz przyszedł gość do bogacza
lecz jemu żal było brać coś z owiec i własnego bydła
czym mógłby posłużyć podróżnemu który do niego zawitał
Więc zabrał owieczkę owemu biednemu mężowi
i tę przygotował człowiekowi, co przybył do niego
edytowany 1x, ostatnio: init0

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.