Dieser Formatstring funktioniert für mich:
%TITLE% $regexp($regexp(%ARTIST%,'(.*)( | \(| \[)(featuring|feat|ft)\.? (.*)','(feat. $4) XXXXX $1',1),' (\)|\]) XXXXX ',' XXXXX ')Feld TITLE:
Title
Feld ARTIST:
Artist Feat Featartist
Ergebnis:
Title (feat. Featartist) XXXXX Artist
Aber ich glaube nicht, dass er komplett richtig ist.
Wahrscheinlich habe ich nur noch einen Fehler eingebaut, der den anderen Fehler austrickst.
Dieser Formatstring erzeugt dasselbe Ergebnis:
%TITLE% $regexp($regexp(%ARTIST%,'(.*)( | \(| \[)(featuring|feat|ft)\.? (.*)','(feat. $4) XXXXX $1',1),'(\)|\]) XXXXX ',') XXXXX ')DD.20110504.1048.CEST
==============================================================
Und dieser Quellformatstring sieht so aus, als müsste er passend sein:
%TITLE% $regexp(%ARTIST%,'^(.+?)\s+[[(]?(?:featuring|feat|ft)\.?\s+(.+?)[])]?\s*$','(feat. $2)=====$1',1)Feld TITLE:
Title
Feld ARTIST:
Artist Feat Featartist
Ergebnis Quellformatstring:
Title (feat. Featartist)=====Artist
Komplett als Aktion ...
Aktion:
Tag-Felder Importieren
Quellformat:
Formatstring:
%TITLE%=====%ARTIST%
Ergebnis im Tagfeld TITLE:
Title (feat. Featartist)
Ergebnis im Tagfeld ARTIST:
Artist
==============================================================
Der vorstehende Quellformatstring entdeckt folgende 'featuring' Literale:
ft
ft.
feat
feat.
featuring
featuring.
Eine Besonderheit stellt das zuletzt genannte Literal 'featuring.' dar.
Der Punkt in 'featuring.' ist sinngemäß überflüssig, könnte aber mehrfache Bedeutung haben.
Ist der Punkt ein Abkürzungspunkt oder ein Satzende?
Wenn ja, welchen Sinn hätte der Punkt an dieser Stelle?
Wäre der Punkt nur ein Schreibfehler?
Das sind Fragen, die aber nicht an dieser Stelle zu klären sind, denn das 'Säubern' von Daten sollte in einem vorherigen Schritt bereits geschehen sein.
Wenn wir sinnvolle Daten erwarten, dann brauchen wir nicht zu prüfen auf 'featuring.'.
Wer also nur die Liste sinnvoller Treffer prüfen will, der kann diesen Quellformatstring benutzen:
%TITLE% $regexp(%ARTIST%,'^(.+?)\s+[[(]?(?:ft\.?|feat\.?|featuring)\s+(.+?)[])]?\s*$','(feat. $2)=====$1',1)==============================================================
DD.20110504.1117.CEST
Edit.
DD.20110504.1241.CEST
Edit. Den Hilfstrenner geändert zu 5 x Gleichheitszeichen ohne Leerzeichen.
DD.20110504.1806.CEST
Edit. Ergebnisdarstellung ergänzt.
DD.20110505.0432.CEST
Edit. Alternativen Quellformatstring ergänzt.
DD.20110505.1030.CEST