funktionierende Aktion mit REGEXP


#1

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')


#2

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:


#3

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)


#4

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?


#5

Hallo, bei mir klappen beide Formatstrings, egal welche Konfiguration.



#6

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.


#7

Auch die Klammer lassen sich leicht entfernen:
$regexp($regexp(%ARTIST%,'\s(?[?ft.\s.+$',),'^(.+?),\s(.+)$','$2 $1')