Sorry, ich glaube mein Anliegen ist nicht ganz ersichtlich, ich versuche es noch einmal zu erklären...
Ich habe ca. 20.000 Textfiles die aus PDFs generiert sind, der Aufbau ist auf der ersten Seite (Deckblatt) in etwa folgendermaßen
max Mustermann
Straße xy
Musterhausen
Kontoverbindung: DE831293719237912321132
Bericht-Nr: 232131413
Untersuchuchungswunsch: Untersuche mir bitte das Produkt XY auf den Fehler Z
Last: 1200 kN
Drehzahl: 2000 1/min
Schmierung: Öl
Da der Aufbau also einer gewissen Logik folgt kann ich diese Zeilen also ziemlich genau auslesen.
Diese Textfiles unterscheiden sich jedoch geringfügig voneinander. D.h. je nach Autor (/ Vorlage von früher) kann hier auf dem Deckblatt "Bericht-Nr.:", "Untersuchungsbericht-Nr.:" oder auch das ganze in Englisch "Report-No.:" usw. stehen. Dies ist bei allen Suchbegriffen (Last, Untersuchungswunsch usw.). der Fall.
Ich lese diese Files also über Regex ein und gebe das - was nach meinem Suchbegriff steht - aus und schreibe es in eine Tabelle. Diese sieht zB so aus und soll gefüllt werden (Erste Zeile / Überschrift) ist von mir vorgegeben:
Ergebnistabelle
Nummer |
Untersuchungswunsch |
Last: |
Drehzahl: |
Schmierung |
232131413 |
Untersuche mir bitte das Produkt XY auf den Fehler Z |
1200 kN |
2000 1/min |
Öl |
... |
... |
... |
... |
... |
Zuvor habe ich das über If / Else If gelöst was auch funktioniert. Ich finde jedoch nicht alle Rückgabewerte aufgrund der Variationen. Jetzt kann man sich vorstellen dass das bei 20 möglichen Suchbegriff-Variationen pro Ausgabewert schnell den Code aufbläst.
Für die zu suchenden Begriffe (Input für Regex) will ich also ein extra Tabellenblatt hernehmen, indem ich die Variationen, die mir bekannt sind, in Spalten unterteilt, hinterlege:
Bericht: |
Load: |
Drehzahl: |
Berichtsnr.: |
Last: |
rpm: |
Report: |
Belastung: |
Speed: |
Es soll also pro Textfile nach dem ersten Match gesucht werden und das Ergebnis (Rest der Zeile) in die Ergebnistabelle geschrieben werden. Dabei ist egal, welche Suchbegriff-Variation den Treffer landet. Sobald ein Treffer da ist, in die Tabelle schreiben und weiter im Code.
Das Einlesen habe ich ja bereits durch die Hilfe geschafft. Ich lese die Range A:A z.B ein und ändere sie in das Format (Suchbegriff1|Suchbegriff2| usw.)
Jedoch weiß ich nicht, wie ich jetzt das ganze auf den ersten treffer begrenze und aus der Regex Suche aussteige.
|