Feat. nicht im Titel sondern im Interpret

Hallo zusammen,

habe mir jetzt 2 ganze Tage dieses Forum mal vor die Brust genommen und einige Sachen konnte ich gut umsetzen.

Nur ein Problem habe ich noch.
Mir geht es tierisch auf die Nerven mit dem Feat. im Titel möchte dieses gerne verschieben nach Interpreten. Kann mir da einer helfen wie ich das umsetzen kann. Ich habe über 1 TB an Daten diese alle mit Hand umzuschreiben ist undenkbar.

Vielen Dank schon mal.

Grüße

Olly

PS: Das Programm ist Spitzenklasse. Es wurde mir von einem DJ-Kolegen nahe gelegt dieses zu benutzen.

Aktion #1:
Aktionstyp: Tag-Felder formatieren
Feld: ARTIST
Formatstring: %artist%$mid(%title%,$strstr(%title%, feat.),$len(%title%))

Aktion #2:
Aktionstyp: Ersetzen mit regulären Ausdrücken
Feld: TITLE
Regulärer Ausdruck: feat. .*$
Treffer ersetzen durch:

[ ] Groß-/Kleinschreibung berücksichtigen

Edit: In der zweiten Aktion steht am Anfang von "Regulärer Ausdruck:" noch ein Leerzeichen, also " feat. .$" und nicht "feat. .$".

Ich hab das mal getestet und es klappt ! Super DANKE !

Gibts ne Möglichkeit auch weitere Optionen (z.B. Pres, ft. pp) einzubauen ?

Gruss Dickie

vgl. Hilfe bei Ersetzen mit regulären Ausdrücken

z.B.

$replace(%artist%, FT. , ft. , FT , ft. , FEAT , ft. , FEAT. , ft. , FEATURING , ft. , Ft , ft. , ft , ft. , Feat , ft. , feat , ft. , Feat. , ft. , feat. , ft. , Featuring , ft. , featuring , ft. )

Das ist ein ganz gefährlicher Weg, den ich bewußt nicht gewählt habe, weil es zu massiven
Veränderungen im Bereich des Titels kommen kann.

Ich wollte die zusätzlichen Optionen gerne in der Aktion von Sebastian haben !

Gruss Dickie

Dickie, was soll denn daran gefährlich sein?
Die zuvor dargestellte Benutzung von $replace() ist doch der sicherste Weg überhaupt, denn es werden in diesem Fall genau nur die Worte (!) ersetzt, die explizit aufgezählt sind.

Die Parameterliste der Funktion $replace() ist in diesem Fall zwar etwas lang, aber dafür erlebt man keine Überraschung, die vielleicht beim Ersetzen mit einem unpassend gewählten regulären Ausdruck auftreten könnte.

Diese Benutzung von $replace() in der dargestellten Weise ist deshalb gerade für Mp3tag Skript Beginner der vom Verständnis her einfachste und in der Handhabung sicherste Weg, um ordentliche Ergebnisse zu erlangen.

DD.20080605.0628.CEST

Vom Thema geht es uns darum, dass wir "Feat" und ähnliches nicht im Titel habe wollen, sondern beim Artisten !

Der Hinweis von mbaa3 bezieht sich aber ausschließlich auf den Artisten. Wenn ich "Feat" und alles was danach kommt beim Artisten habe, kann ich "replace" fast gefahrlos anwenden ! Aber soweit sind wir noch nicht !

Ich habe wie von mbaa3 angegeben einmal die Aktion auf den Titel angewendet und hatte teilweise massive Änderungen im Titel, weil dort die betreffenden Abkürzungen z.B. FT im Titel vorhanden waren ! Etliche Titel verloren ihren Sinn !!!!

Ich wollte eigentlich nur die Aktionen von Sebastian mit zusätzlichen Optionen (soweit möglich) ohne dass ich die Aktionen dupliziere und die betreffenden Ausdrücke ändere !

Gruss Dickie

Der Hinweis von mbaa3 ist der Vorschlag etwas genau so oder ähnlich zu machen wie es schon einmal an anderer Stelle gemacht wurde, und soll deshalb zum Ausprobieren und Nachmachen anregen.

Wahrscheinlich hast du den Tipp falsch angewendet.

Vorausgesetzt das Wort "FT" bedeutet nicht noch etwas anderes als eine Abkürzung für "featuring" und Worte wie "featuring" oder "FT" sollen immer als "ft." abgekürzt werden.

Wenn in welchem Tagfeld auch immer die Zeichenfolge " FT " durch " ft. " ausgetauscht wird, wie kann sich dabei der Sinn des Inhalts verändern?

Mir ist jedenfalls weder in der deutschen, noch in der englischen Sprache ein selbständiges Wort "FT" bekannt, das einen Sinn hat, außer dass der Sinn im musikalischen Kontext darin liegt, eine Abkürzung für "featuring" zu sein.

Nochmal etwas deutlicher:

Der Ausdruck $replace('Die Kraft ist heftig.',' ft ',' ft. ')
ergibt keine Veränderung: 'Die Kraft ist heftig.'

Der Ausdruck $replace('Die Kraft ist heftig.','ft','ft.')
ergibt die Veränderung: 'Die Kraft. ist heft.ig.'

DD.20080606.0709.CEST

Beispiel der existierende Song:

Liz Phair - 6 Ft in 1

$replace(%title%, Ft , feat. )

Ergebnis: Liz Phair - 6 feat. in 1

Formatstring: %artist%$mid(%title%,$strstr(%title%, feat.),$len(%title%))

Ergebnis: Liz Phair feat. in 1 - 6

Wir können nicht vom normalen Sprachgebrauch ausgehen, es gibt die unmöglichsten Artisten und Titel !

Gruss Dickie

Ausnahmen kommen immer wieder vor, deshalb ist es ratsam, große Datenbestände in überschaubaren Portionen zu bearbeiten, und vor allem die Daten zu bereinigen bevor man automatische Prozeduren anwendet.

In deinem Beispiel scheint der Titel sowieso falsch geschrieben zu sein, sollte es denn nicht sein 6' 1" oder 6ft 1in oder 6 feet 1 inch oder six feet one inch?

DD.20080606.1500.CEST

Das war ne "Freudsche Fehlleistung" von mir ! Ich habe vor lauter "Aktionen" und "$replace" die Zahlen einfach mal vertauscht !

Weil ich bei einigen "Aktionen" überraschende Ergebnisse erhalten habe, teste ich so lange, bis ich sie für "ungefährlich" halte !

Aber du hast Recht, bevor große Datenmengen bearbeitet werden, sollte man vielleicht eine Sicherung anlegen !

Schönes Wochenende

Gruss Dickie