kaisew
Goto Top

Regular Expression - Datei nach bestimmten Suchkriterien verarbeiten

Hallo Allerseits!
Da ich mit regulären Ausdrücken überhaupt nichts am Hut hab, aber mein Problem nur damit Lösen kann, bin ich auf Euer Forum gestossen.
Da ich auf meine Frage leider keine Antwort gefunde hab, hier nun mein Problem, bei dem Ihr mir sicher helfen könnt.
Besten Dank schon mal im Voraus!! Walter

Ich muss eine Textdatei sequentiell einlesen (hier einige Sätze davon) ...

AUS00001 0008820090930SK192114AG120JC DECKEL ATCHENBECHER 8708290000000000100STK 00000002961000000407JP
AUS00001 0008820090930SK689742B1020 SENDETEIL AT 8536508000000000100STK 00000003294000000012JP
EIN00001 0008820090930ATG1B023XG0 SELECT MONITOR III 0000000000000000100STK 00000114000000000000JP
EIN00001 0008820090930ATG1B120XZ0 SSM III PULSE / ANAL9031903000000000100STK 00000038592000000370JP
EIN00001 0008820090930ATG18332AA000 ™LFILTERSCHLšSSEL 8205590000000000100STK 00000002406000000080JP

Für mein Schnittstellenprogramm möchte ich aber in diesem Fall nur Sätze verarbeiten, welche auf Stelle 34-35 das Länderkennzeichen AT aufweisen.
Alle anderen Sätze sollen ignoriert werden.

Der Satzaufbau sieht so aus:
20 Alpha Rechnungsnummer
5 num Code
8 Datum Datum
2 Alpha Länderkennzeichen
...

Bin mir sicher, dass dies für einen, der mit regulären Ausdrücken arbeitet, ein Kinderspiel sein sollte - für mich leider nicht

Besten Dank, Walter

PS. Sollte mein Problem bereits in einem Thread angesprochen worden sien ... Sorry, dan hab ich's übersehen face-wink

Content-ID: 129017

Url: https://administrator.de/contentid/129017

Ausgedruckt am: 24.11.2024 um 05:11 Uhr

dog
dog 10.11.2009 um 10:37:11 Uhr
Goto Top
Könnte man sicher, aber weder ist in deinem Beispiel irgendwo an Stelle 34-35 ein AT, noch passt deine Beschreibung zum Beispiel face-smile
kaisew
kaisew 10.11.2009 um 10:51:05 Uhr
Goto Top
Danke für Deine rasche Antwort!
Doch , passt schon zusammen - nach der Rechnungsnummer (EIN001, AUS001) folgen 14 Leerstellen (die, warum auch immer, hier beim EInfügen untergegangen sind)
Walter

7b2f9a868d44a4c0871f30ccbee41a9c-snap
dog
dog 10.11.2009 um 10:54:43 Uhr
Goto Top
(die, warum auch immer, hier beim EInfügen untergegangen sind)

Das ist ein "Feature" von HTML. Um die Leerstellen anzuzeigen musst du die code-Tags (siehe Hilfe) benutzen.
OK, also testweise:
/^.{33}AT/
Die Regex trifft nur zu wenn an der 34. Stelle einer Zeile AT steht, ist aber recht allgemein gehalten, so dass sie alles frisst, auch wenn es nicht dem strikten Schema entspricht.

Grüße

Max