Bestimmte Sachen filtern!

yasukatakaya

Mitglied
Hallo,
ich wollte in einer Datei die erste Zeile nehmen und nur was bestimmtes zwischen folgenden sachen haben und zwar sieht erstmal die Zeile so aus:
HTML:
/***/BARCODE/DATE/START-TIME/RESULT/STROM-HS/STROM-BS/ON-KOMM/SW-HS/SW-HS-OK/SW-BS/SW-BS-OK/IDENT-HS/IDENT-BS/GR-HS/REF-HS/BS-OK/VIBAVBL/HW1/HW2/INIT-KOMM/LADEHSON/LADEHSOFF/LADEHSSTROM/LADEHS-KOMM/PAAR/UAK/PAAR-KOMM/TAST-HS/TASTHS-KOMM/RUF-HS/RUFHS-KOMM/LED-HS/LEDHS-KOMM/BILD1/BILD2/DISPL-KOMM/SDA-AKN/SDA-KOMM/LOCKED/BELEGT/STROM_BEL_HS/BEL-KOMM/HF-BELEGT/HF-HS-SPG/HF-HS/HF-KOMM/TX-BELEGT/TX-SLR/TX-GAIN/TX200/TX250/TX300/TX315/TX400/TX500/TX630/TX800/TX1000/TX1250/TX1600/TX2000/TX2500/TX3000/TX3150/TX3400/TX4000/TX-KLIRR/TX-KOMM/RX-BELEGT/RX-RLR/RX-GAIN/RX200/RX250/RX300/RX315/END-TIME/

ich wollte alles zwischen /***/BARCODE/DATE/START-TIME/RESULT/ und /END-TIME/ haben

mein Code sieht so aus, kann jemand drüber schauen und mir bei der Fehlersuche helfen!?


Code:
RandomAccessFile f = new RandomAccessFile( "C:/Documents and Settings/pdbasand/Desktop/Ausgabe.txt", "r" );
            //System.out.println( f.readLine() );
            
            String input = f.readLine(); //die erste zeile einlesen
           
            Pattern p = Pattern.compile("/***/BARCODE/DATE/START-TIME/RESULT/(.*)/END-TIME",Pattern.CASE_INSENSITIVE);  
            Matcher m = p.matcher(input);
            
             if (m.find())
                {
                    System.out.println(m.group(0));
             }
            
            String[] results = p.split("/");
            for (int i = 0; i < results.length; i++)
            {
                System.out.println(results[i]);
            }
            
        }  
        catch (IOException e) 
        {
            e.printStackTrace();
        }
    
    }
 
Ich denke mal du benutzt die java.util.regex funktionen, sollte ich mich irren korrigiere mich.
Du solltest zumindest angeben, welche Pakete und Klassen du verwendest, sonst ist es schwierig auf deine Fragen zu antwortem.

Code:
Pattern p = Pattern.compile("/\\*\\*\\*/BARCODE/DATE/START-TIME/RESULT/(.*)/END-TIME",Pattern.CASE_INSENSITIVE);

Wolltest du das? (siehe \\*\\*\\* )

MfG Ben
 
Zuletzt bearbeitet von einem Moderator:
Hi,
ja danke das brauche ich auch, aber das wichtigste ist, was ich brauche, steht in der Klammer (.*), das andere brauche ich nicht!
Hast du vielleicht dazu einen Tip?
Gruss
 
Zurück