Nummer extrahieren und in andern Tag abfüllen


#1

Liebe mp3Tag'er

Blau eingefärbt habe ich ein Beispiel eines "Songtextes" (%unsyncedlyrics%) wie er in meinen Dateien vorkommt angefügt.

Der Aufbau des Textes ist immer in etwa der gleiche. Die Zeilenanzahl der einzelnen Angabe ist aber unterschiedlich.
Gerne würde ich nun einzelne Teile in "eigene" Tags abfüllen:

  • Mute Swan in Art_Englisch
  • Cygne tuberculé in Art_Französisch
  • Cigno reale in Art_Italienisch
  • cign dumesti in Art_Romanisch
  • das "Kartierungs-Kürzel" HÖS in Kart._Kürzel (immer 3 Buchstaben, immer alle GROSS odere immer alle klein geschrieben)
  • die "Artnummer "AERC" 0570 in Art-Nr. AERC (Grösse zwischen 0000 bis 9999)

Auch in der Darstellung sind vom Import her, noch systematische Fehler eingebaut:

  • Es kommen sowohl doppelte schliessende Klammern )),

  • als auch doppelte Anführungszeichen "" vor.
    Diese würde ich gerne durch einfache ersetzen (Beim Versuch doppelte Anführungszeichen durch einfache zu ersetzen habe ich dieses Tag-Feld so ruiniert, dass ich die Dateien aus der Sicherung wieder herstellen musste.).

  • Vor der Zeile des Kartierungs-Kürzels würde ich gerne eine Zeile einfügen.

  • Die Leerzeile welche dem Kartierungs-Kürzel folgt,würde ich gerne entfernen.

  • In der letzten Zeile (mit dem Hinweis auf die Aufnahme, CD1-4) ist das letzte Zeichen oft ein " (Anführungszeichen). Dieses würde ich gerne entfernen.

  • Die Zeile der Ordnungen ist nicht mit einer schliessenden Klammer versehen (Ordnungen haben immer die Endung "formes"). Diese Klammer würde ich gerne einfügen.

Die von mir gewünschte Darstellung befindet sich am Ende in grüner Farbe eingefügt.

Ich hoffe, dass ihr mir auch dieses Mal helfend zur Seite steht

Viele Grüsse
Martin

(Einrückungen durch Leerzeichen werden in dieser Darstellung nicht angezeigt)

deu||a) Typische Rufe

b) Flügelgeräusche
c) Verschiedene Rufe
d) Balz


dt. = Höckerschwan
lat. = Cygnus olor
eng. = Mute Swan
fr. = Cygne tuberculé
it. = Cigno reale
rom. = cign dumesti


Ordnung: Entenvögel (Anseriformes)
Tribus: Schwäne (Cygnini)

     Familie: Entenvögel (Anatidae)
        Unterfamilie: Gänse (Anserinae)

Artnummer ""AERC"" = 0570

Jean C. Roché, Die Vogelstimmen Europas, CD1"

deu||a) Typische Rufe

b) Flügelgeräusche
c) Verschiedene Rufe
d) Balz


dt. = Höckerschwan
lat. = Cygnus olor
eng. = Mute Swan
fr. = Cygne tuberculé
it. = Cigno reale
rom. = cign dumesti


Ordnung: Entenvögel (Anseriformes)
Tribus: Schwäne (Cygnini)

     Familie: Entenvögel (Anatidae)
        Unterfamilie: Gänse (Anserinae)

Kartierungs-Kürzel = HÖS
Artnummer "AERC" = 0570

Jean C. Roché, Die Vogelstimmen Europas, CD1


#2

Aktion #1:
Aktionstyp: Ersetzen
Feld: BIRDER4106_DOPPELT_1
Original: ""
Ersetzen durch: "

[ ] Nur als Wort ersetzen

[ ] Groß-/Kleinschreibung berücksichtigen

Aktion #2:
Aktionstyp: Ersetzen
Feld: BIRDER4106_DOPPELT_2
Original: ))
Ersetzen durch: )

[ ] Nur als Wort ersetzen

[ ] Groß-/Kleinschreibung berücksichtigen

Die Feldnamen dienen nur als Beispiel.

Sebastian Mares: Wenn du hier mitliest ... der MTA Konverter hat Schwierigkeiten mit aufeinanderfolgendem doppelten Apostroph '""'. Vgl. oben Aktion #1, Original, den Wert habe ich manuell eingetragen, weil MTA Konverter an dieser Stelle nichts ausgegeben hat.

DD.20070302.1820


#3

Test_birder4106_ExtractUL.mta (2.68 KB)

DD.20070302.2013

Test_birder4106_ExtractUL.mta (2.68 KB)



#4

Lieber Detlev, liebe mp3Tag'er

Zwei Problemchen gelöst (Danke Detlev),
einige unklar formuliert daher noch ungelöst und schon kommt ein neues.

Die Probleme mit der doppelten Klammer und den doppelten Anführungszeichen sind gelöst.

Die Frage nach dem extrahieren der Artnamen in fremden Sprachen, sowie das extrahieren des Artcodes und des Kartierungskürzels habe ich unklar formuliert.

Zuerst aber ein dringlichere Frage:

In meinen Songtexten (%unsyncedlyrics%) habe ich Zeilenumbrüche ($char(13)$char(10)) eingefügt.
Dies indem ich im Text die gewünschten Zeilenumbrüche durch den @ dargestellt habe, den Text in den Tag eingefügt habe und ihn dort durch "Ersetzen mit regulären Ausdrücken" in Zeilenumbrüche umgewandelt habe ("Ersetzen mit regulären Ausdrücken", "@", "$char(13)$char(10)").
Im Tag werden die CRLF als "□□" dargestellt.

Nun habe ich das Problem, dass ich nicht nach diesen Zeichen (□□ = CRLF) suchen und sie somit auch nicht ersetzten kann.
Ich habe einige Varianten ausprobiert. Gelungen ist es mir nicht.

  1. Wie kann ich nach CRLF suchen und sie durch etwas anderes, z.B. "@" ersetzten?
  2. Kann ich mit Lösung 1. auch nach Ausdrücken wie: "□□□□Kartierungs-Kürzel =" suchen und sie in ""□□Kartierungs-Kürzel =" umwandeln?
    Wenn nein, wie würde das funktionieren?

Nun zu meinem gestrigen Problem zurück.

Der von DetlevD vorgeschlagene Weg funktioniert, wenn ich nur eine mp3-Datei hätte. Ich habe aber beinahe 500 von den Dingern.

Kann ich durch eine Aktion (z.B. Ersetzen mit regulären Ausdrücken), jeweils einen Wert suchen und von diesem aus den gewünschten Wert extrahieren und ihn dann in den jeweiligen Tag verschieben.

Z.B.: Nach "eng. =" suchen, "Mute Swan" extrahieren und ihn dann in "Art_Englisch" abfüllen. usw.

Genau gleich würde ich dann gerne mit den anderen Sprachen, resp. dem Kartierungskürzel und dem Art-Code verfahren.
Die Beispiele sind in der ursprünglichen Frage von gestern (2.3.2007) zu finden.

Ich hoffe, ihr könnt mir auch dieses mal helfen

MfG
Martin


#5

Toll, das ist ja schon richtige Fortgeschrittenentechnik!

Wenn du meinen Lösungsvorschlag von zuvor genau ansiehst, dann findest du darin alles das, was du dir gerade wünschst. Verstehe wie dort die CRLF Sequenzen '\r\n' ersetzt werden mit '~', und wie gesucht wird, dann kannst du eigentlich alles in deinen UNSYNCEDLYRICS ausfindig machen.

:huh: ??? Die vorgeschlagene Lösung funktioniert mit soviel Dateien wie du willst.

Ja, genau das habe ich doch in meinem Lösungsvorschlag vorgemacht.

Das Kartierungskürzel ist in dem blauen Text deines Beispiels nicht enthalten.
Ich war deshalb davon ausgegangen, dass es sich um einen festen Wert handelt, der nicht aus UNSYNCEDLYRICS abgegriffen werden muss.
Wenn du die Aktionen studierst, dann siehst du, dass dort eigentlich 5x dasselbe gemacht worden ist (für eng., fr., it. rom., AERC). Die anderen Sprachen habe ich dir als weitere Übung überlassen.

Schaue noch 'mal genau hin:
Test_birder4106_ExtractUL.mta (2.68 KB)

DD.20070303.1548

Test_birder4106_ExtractUL.mta (2.68 KB)


#6

Lieber Detlev

WOW
Da hast du mir einmal mehr eine super Antwort gegeben!
Und ich stehe einmal mehr mit herunter gelassener Hose da.

Bei deiner gestrigen Antwort habe ich mir nur den Screenshot angesehen. Das das Wichtige in einer Datei beigefügt gewesen ist, habe ich erst nach einigem Stirnrunzeln und Nachdenken über deine heutige Antwort herausgefunden.
SORRY

Auch das Kompliment über die fortgeschrittenen Technik beim Anwenden der CRLF muss ich an dich zurückgeben. Ich habe das aus einem Forumsbeitrag von dir vom 19.8.2006 an Louie "abgekupfert".

Nun sitz ich hier (an deiner Antwort) ich armer Tor, und bin so klug als wie zuvor.

Ich komme mit den Abkürzungen in deinem Hilfe-File nicht klar.
Ich bin mir nicht sicher ob es allenfalls Skript-Anweisungen sind, oder doch irgend etwas anderes.

  • Beim Ausdruck [#0] wird es sich um die Reihenfolge der Abarbeitung handeln?
  • Könnte mit "T=5" "Tag-Felder formatieren" gemeint sein?
Dann wären "F=" und "1=" die dazugehörenden Werte.
- Könnte "T5" "Ersetzen" oder "Ersetzen mit regulären Ausdrücken" bedeuten?
Stimmt wenigstens eines von beiden? Wenn ja, welches? Wenn nein, welches dann?

Ich wäre froh, wenn du mir noch einmal helfen könntest.

MfG
Martin


#7

Lieber Martin, kopiere die MTA Datei in den Ordner "%APPDATA%\Mp3tag\data\actions", wobei %APPDATA% aufgelöst etwa so aussehen könnte 'C:\Dokumente und Einstellungen\DeinBenutzername\Anwendungsdaten".
In der MTA Datei sind die Aktionen zusammengefasst in einer Aktionsgruppe, die du dann innerhalb von Mp3tag benutzen und im Dialog 'Aktionen' auswählen kannst.

DD.20070303.1910


#8

Hallo Detlev
Danke für deine Antwort.
Bitte entschuldige die späte Antwort. Ich war den ganzen Tag an einem Eishockey-Turnier meines Sohnes.

Zum Problem:
Ich bin noch am Entdecken und Ausprobieren.

Ich hoffe, dass ich mit meiner nächsten Meldung den (vorläufigen) Abschluss meines "Projektes" melden kann.
Wenn nicht, wird wieder eine Frage kommen...

Einen guten Start in die Woche
wünscht
Martin


#9

Hallo mp3Tag'er

Da hat sich DetlevD eine riesen Mühe mit meinem Problem gegeben. Er erstellte mir ein mta-Datei mit allen Lösungen und ich krieg das verd... Ding nicht ins Programm.

Schon beim Kopieren hat es begonnen. Rechtsklick auf den Link, Zielverzeichnis angegeben und was erhalte ich für ein File? Alles nur kein *.mta.
Nicht verzagen, das File in Notepad++ übernehmen, den Inhalt kontrollieren, scheint alles i.o. und mit einem anderen Dateinamen abspeichern (Vogelstimmen.mta).
In mp3Tag unter "Aktionen" nachsehen, nichts.
Es auch unter "Aktionen (Quick)" versuchen, wieder nichts.
Halt, es könnte erst nach einem Neustart des Programms zur Verfügung stehen. Sch...ade, auch nicht.
Dann vielleicht PC herunterfahren und noch einmal probieren (das dauert bei meiner alten Schwarte ca. 15 bis 20 Minuten), immer noch kein Eintrag.
Forum konsultieren! Zuerst nach "mta" suchen, dann nach "Aktionsgruppen". Leider nichts gefunden was mir weiter geholfen hätte.

Und nun bin ich wieder hier und "bettle" euch um Hilfe an.

Es wäre schön, wenn ihr mir auch diese Mal helfen würdet. Nach den bisherigen Erfahrungen ist dies für euch kein Problem.

Vielen Dank für eure Hilfe

Martin


#10

Datei 'Test_birder4106_ExtractUL.mta' auf den Desktop legen.

[Windows-Taste+R] drücken oder 'Start/Ausführen' auswählen.
Folgende Zeichenkette in das Eingabefeld kopieren:
cmd /ccopy /y "%USERPROFILE%\Desktop\Test_birder4106_ExtractUL.mta" "%APPDATA%\Mp3tag\data\actions\Vogelstimmen.mta"
'OK' drücken.

Kontrolle.
[Windows-Taste+R] drücken oder 'Start/Ausführen' auswählen.
Folgende Zeichenkette in das Eingabefeld kopieren:
explorer.exe /e,/select,"%APPDATA%\Mp3tag\data\actions\Vogelstimmen.mta"
'OK' drücken.

Datei 'Test_birder4106_ExtractUL.mta' vom Desktop löschen oder anderswo speichern.

DD.20070305.1956


#11

Hallo Detlev
Einmal mehr vielen Dank für deine Antwort und deine Geduld.
Ich werde mich heute Abend zu Hause wieder an die "Arbeit" machen.

Mit freundlichen Grüssen
Martin