Ich möchte alle mit Text gefüllten Dateien in einem Ordner für die weitere Verwendung formatieren.
Die Dateien sollen als erste Zeile mit dem Liedtitel beginnen, die mit einer Liednummer beginnt.
Also sollen alle Leerzeilen vor dem Titel, der durch die Nummer erkennbar ist, gelöscht werden.
Der Titel soll durch 2 Leerzeilen von der darauf folgenden 1. Strophe getrennt sein.
Mehr Leerzeilen sollen gelöscht, zuwenige dazu gefügt werden.
Die Strophen selbst soll abwechselnd, beginnend mit Text, Textzeile und Leerzeile sein.
Die einzelnen Strophen sind durch Leerzeilen getrennt und daran erkennbar, das der Rhythmus 1 Text 1 Leer unterbrochen wird und danach noch Text kommt. Oder wie im Fall der 2. Strophe wenn nach einem Block von Textzeilen noch Text kommt. Der Abstand der einzelnen Strophen soll also 2 Leerzeilen sein.
Alle Leerzeilen nach der letzten Textzeile sollen gelöscht werden.
Beispieltext:
001. Liedtitel (Text)
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
#z.B letzte Zeile
001. Liedtitel (Text)
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
# letzte Zeile
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
# letzte Zeile
Die Frage ist, ob solch eine Anforderung mit einem regulären Ausdruck zu erfassen ist und ob gerade jemand den passenden Ausdruck kennt oder ob nicht vielleicht die Aufgabe besser über das Dateisystem oder über Arrays zu erfüllen währe.
Danke soweit und Gruß
Estrela
Kommentar