So, danke für die Zahlreichen Hilfestellungen.
Hier mein Code, den ich bis jetzt für die Suche habe:
Code:
while ((s=r1.readLine()) !=null) {
sn=(s + "\n");
while ((e=r2.readLine()) !=null) {
en=(e + "\n");
//suche nach 0|ABC-DEF| :
if (en.contains( " 0|ABC-DEF|")){
int index0 = en.indexOf("0|ABC-DEF|");
en = en.substring((index0)+10); //du nimmst den substring nach "0|ABC-DEF|" bis zum ende : GHI-JKL|MN_OP_QRST_BLA|........
//springe ein '|' weiter:
if (en.contains("|")){
int index1 = en.indexOf("|");
en = en.substring(index1+1); //du nimmst den substring nach dem naechsten "|" bis zum ende --> |MN_OP_QRST_BLA|..............
}
//springe noch ein '|' weiter:
if (en.contains("|")){
int index2 = en.indexOf("|");
String schreiben = en.substring(0, index2); // Hier kommt die ID heraus, dh. 0 ist die aktuelle Position, bis Index2 = MN_OP_QRST_BLA
tmp.writeBytes(schreiben + " ");
}
}
}
}
Das File sieht so aus :
0|ABC-DEF|GHI-JKL|MN_OP_QRST_BLA|........
1|UVW|X|6|1A|YZ.....
......
......
......
In den einzelnen Felder stehen Daten, die ich benötige. Die Zeilen kommen öfters in dem File vor, jedoch mit unterschiedlichem Inhalt.
Das Ausgabefile sollte in etwa so aussehen:
1: MN_OP_QRST MN_OP_QRST MN_OP_QRST MN_OP_QRST MN_OP_QRST MN_OP_QRST MN_OP_QRST.................
dh. den Inhalt von MN_OP_QRST_BLA muss ich auslesen (was auch dank kaffee_trinken mittlerweile auch klappt), allerdings ist mir aufgefallen dass, das _BLA weg muss.
Da brauch noch einen Anstoß wie es gehen würde, meine Überlegung wäre, MN_OP_QRST_BLA einzulesen, bis zum ende springen und von dort bis zum letzten _ löschen.
Leider weiss ich aber gar nicht wie ich es realisieren könnte, da Hauptproblem ist, dass die Unterstriche nicht immer gleich an der Zahl sind, und dadurch die indexOf möglichkeit nicht funktioniert. Es wäre praktisch, eine funktion zu finden, die bis zum hinteren '|' springt und dann rückwärts bis zum '_' springt also in etwa so "MN_OP_QRST_BLA" bis ans ende von BLA springen, bis zum '_' vor dem BLA springen und dann das MN_OP_QRST kopieren.
Gruß Alex
EDIT:
Das mit _BLA hab ich einfach gelöst, indem ich das dritte mal nicht nach '|' sondern nach '_BLA' gesucht habe
also ist der Punkt erledigt.