Help - Search - Members - Calendar
Full Version: funktionierende Aktion mit REGEXP
Mp3tag Forums > Mp3tag - Deutsch > Allgemein
mbaa3
Ich habe eine funktionierende Aktion, die ARTISTSORT folgendermaßen ersetzt:
(nach Komma drehen, nach & abschneiden)
Jethro Tull & Friends -> Jethro Tull
Hooker, John Lee & sonstwer -> John Lee Hooker
Mann, Manfred & keiner -> Manfred Mann

$regexp($regexp(%ARTIST%,'\s&\s.+$',),'^(.+?),\s(.+)$','$2 $1')

Nun habe ich einfach "&" durch "ft." ersetzt und gehofft, dass es für

Jethro Tull ft. Friends -> Jethro Tull
Hooker, John Lee ft. sonstwer -> John Lee Hooker
Mann, Manfred ft. keiner -> Manfred Mann

genauso funtionieren würde. Dem ist nicht so. Wo ist der Fehler?
$regexp($regexp(%ARTIST%,'\sft.\s.+$',),'^(.+?),\s(.+)$','$2 $1')
LyricsLover
Vermutlich musst Du den Punkt nach ft "escapen". Probiers mal mit
$regexp($regexp(%ARTIST%,'\sft\.\s.+$',),'^(.+?),\s(.+)$','$2 $1')

Das ist nur eine ungetestete Vermutung, also bitte unbedingt TESTEN. wink.gif
mbaa3
ZITAT(LyricsLover @ Mar 30 2012, 13:16) *
unbedingt TESTEN. wink.gif

Danke für die schnelle Antwort. Der Test war leider negativ.
Außerdem habe ich noch eine Klammer-Variante: Roger Glover (ft. Ronnie James Dio)
dano
Die Aktion liefert diese Ergebnisse:

"Jethro Tull ft. Friends" ->
"Jethro Tull"

"Hooker, John Lee ft. sonstwer" ->
"John Lee Hooker"

"Mann, Manfred ft. keiner" ->
"Manfred Mann"

So soll es doch sein, oder?
DJ Mucke
ZITAT(mbaa3 @ Mar 30 2012, 13:59) *
Wo ist der Fehler?
$regexp($regexp(%ARTIST%,'\sft.\s.+$',),'^(.+?),\s(.+)$','$2 $1')

Hallo, bei mir klappen beide Formatstrings, egal welche Konfiguration.
Click to view attachment
mbaa3
Tut mir leid, dass ICH den Fehler gemacht habe. Die RegExp's sind in Ordnung! Versehentlich war noch der alte Tag-Feldname ARTISTSORTORDER in der Aktion. Ich bin jetzt dabei, das Klammer-Problem zu lösen.

Entweder ich erweitere die RegExp so, dass
Name, Vorname (ft. nixidixi) -> Vorname Name
Name, Vorname [ft. nixidixi] -> Vorname Name
wird.
Oder (wahrscheinlich einfacher) ich entferne vorher per Aktion die Klammern.
dano
Auch die Klammer lassen sich leicht entfernen:
$regexp($regexp(%ARTIST%,'\s\(?\[?ft\.\s.+$',),'^(.+?),\s(.+)$','$2 $1')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.