Hallo Dano,
vielen Dank für Deine schnelle Hilfe! Hat prima geklappt!
Gibt es auch eine Möglichkeit, diese Lösung an Bedingungen zu knüpfen?
Beispiel hier:
[#3]
T=5 (TagFeld formatieren)
F=ALBUM
1=$if($eql($right(%artist%,7),Zudeick),Achtung Zudeick,%album%)
Nur wenn die ersten 7 Stellen von rechts in
ARTIST = "Zudeick" dann
ALBUM = "Achtung Zudeick" ansonsten
ALBUM = unverändert
Also
Nur wenn die ersten 7 Stellen von rechts in
ARTIST = "Zudeick" dann
formatiere TITLE
(gem. ^.+?(\d{1,2}).(\d{1,2}).(\d{4}).+$) ..
von "Zudieck 11.5.2007 Achtung" = "2007.05.11"
Vielleicht auch über mehrere (ggf. scriptige) Aktionen?
Vielen Dank noch einmal
Jue
In der Hoffnung, mit meinen nachfolgenden Fragen die Hilfsbereitschaft nicht über zu strapazieren ... (-:
Ich möchte es halt gern verstehen.
Meine Fragen aus dem Folgenden vorweg genommen:
-
Die Zeichen '^' (Anfang eines String) und '$' (Ende eines String)
Muß ein Ausdruck mit ^ beginnen und mit $ enden (ggf. nur in reg. Ausdrücken)?
Also mit HTML-Befehlen wie
(Anfang) und
(Ende) vergleichbar.
Oder haben die noch eine andere Bedeutung?
-
Wofür wird das Fragezeichen in '.+?' benötigt?
Die Einzelteile Deines Ausdruckes mal durchgekaut:
Regulärer Ausdruck: ^.+?(\d{1,2}).(\d{1,2}).(\d{4}).+$
^
HILFETEXT: matched (verändert?) den Anfang eines Strings
Welche Bedeutung hat dieses Zeichen?
.+? = "Zudieck"
HILFETEXT: "." matched (verändert) jedes Zeichen
HILFETEXT: "+" einmal oder mehrfach
HILFETEXT: "?" nullmal oder einmal
Mit . werden also alle Zeichen berücksichtigt/verändert.
Mit + wird die Wiederholung bestimmt.
Mit ? tja, hier verläßt es mich. Es wird doch nur ein Zeichen bestimmt, oder?
Das Einmal oder Mehrfach vom PlusZeichen ist bis zum nächsten Teilbereich gültig.
Wofür braucht es das Fragezeichen?
Der Leerschritt zwischen "Zudieck" und "11" wird durch den Punkt (alle Zeichen) eingeschlossen.
(\d{1,2}) = "11"
HILFETEXT: "\d" alle Zahlen
HILFETEXT: "{1,2}" {n,m} zw. n- und m-mal wiederholt
HILFETEXT: "{n} mindestens n-Wiederholungen
{2} statt {1,2} geht nicht, weil auch Einstelliges berücksichtigt werden soll.
. = "."
Das ist die Syntax für das 'Punkt'-Trennzeichen
(\d{1,2}) = "5"
Hier haben wir die einstellige Variante von oben.
(\d{4}) = "2007"
Hier wird davon ausgegangen, dass das Ziel immer 4stellig ist.
Wenn das Ziel aber auch 2stellig "07" sein könnte, wäre (\d{2,4}) angebrachter.
.+ = "Achtung"
Der Punkt = alle Zeichen
Das Plus = bis zur nächsten Trennung, da aber Ende des FeldInhaltes, bis zum .mp3
Warum hier kein Fragezeichen wie oben?
Vielen Dank
Jue