Großbuchstabe nach ' (Apostroph) ändern

Hallo zusammen,

ich arbeite schon sehr lange mit Mp3Tag und es hat mir schon sehr viel Zeit erspart, leider hat es mir auch schon einige Zeit gekostet für diese eine (kleine) Aktion die ich gerne machen würde :rolleyes:

Und zwar habe ich folgendes Anliegen.
Ich würde gerne den (Groß)buchstaben nach einem ' (Apostroph) klein schreiben aber nur wenn genau ein Buchstabe dahinter steht.
Ich hatte nämlich alles mal so eingestellt dass nach dem Apostroph automatisch ein Großbuchstabe kommt, natürlich habe ich da nicht weitergedacht dass das ja nicht immer der Fall ist <_<

Beispiele wie ich es gerne hätte (vorher - nacher):
Don'T - Don't
i'M - i'm
O'Neill - O'Neill (bleibt gleich weil mehr als 1 Buchstabe hinter ' steht)

Ich bin auch etwas bewandert mit den Regular Expressions aber ich krieg das einfach nicht hin.
Würde mich sehr über eine passende Lösung oder einen Geistesblitz freuen.

DANKE!!
Simone

$regexp('Don''''T','''(\u)\b','''\l$1') $regexp('Don''''T','''\u\b','\L$0') ==> Don't $regexp('I''''M','''(\u)\b','''\l$1') $regexp('I''''M','''\u\b','\L$0') ==> I'm $regexp('O''''Neill','''(\u)\b','''\l$1') $regexp('O''''Neill','''\u\b','\L$0') ==> O'Neill

DD.20141013.1756.CEST

Ich habe
$regexp(%title%,(.)($char(39).\s)(.),$1$char(39)$lower($2)$3)
probiert - aber irgendwie funktioniert das $lower nicht und ich verstehe nicht so ganz warum.

Hallo,

Danke schon mal für die rasche Antwort! :w00t:

Aber bei deinen Expressions Detlev muss ich ja für jedes Wort gezielt eine Aktion anlegen. Es sollte ja allgemein funktionieren, egal für welche Kombination. Ich habe nur die 3 Beispiele angeführt damit man den Unterschied sieht wie ich das meine.

@ ohrenkino
Bei dir muss ich als Aktionstyp Tag-Feld formatieren auswählen und auf das Feld Title anwenden, oder?
Da fügt er mir aber ein zusätzliches Apostroph ein und der Buchstabe danach bleibt gleich. Aber wenn danach mehr als ein Buchstabe steht bleibts gleich. Von dem her würde es schon passen.

Ich habe mir diese beiden Aktionen angelegt:

Für ein Wort das irgendwo im Titel steht (mit jeweiles einem Leerzeichen am Ende):
Regular Expression: (\w'\u)
Ersetzen mit: $lower($1)

Für ein Wort das am Ende im Titel steht:
Regular Expression: (\w'\u)$
Ersetzen mit: $lower($1)

Das funktioniert zwar aber ich glaube das ist nicht die schönste/beste Lösung <_<

Hmm du schriebst, dass du schon sehr lange mit Mp3tag arbeitest, deshalb dachte ich, es würde dir reichen, funktionierende Beispiele zu sehen.
Weil du sowieso den Skriptausdruck für jedes infrage kommende Tagfeld einzeln ausführen musst, hatte ich es dir selbst überlassen, den Plazhalter %ARTIST% oder %TITLE% an der richtigen Stelle in der Funktion $regexp einzusetzen, zum Beispiel so ...

$regexp(%TITLE%,'''\u\b','\L$0')

... oder ...

$regexp(%TITLE%,'\x27\u\b','\L$0')

DD.20141014.1404.CEST, DD.20141015.0926.CEST

Danke Detlev für die Aufklärung! Ich verstehe zwar wie die RegEx funktionieren aber ich steig teilweise bei der Syntax die ich bei Mp3Tag anwenden muss aus :rolleyes:

Ist das jetzt richtig wenn ich deinen Ausdruck bei Tag-Feld formatieren einfüge oder wo kann ich das richtig ausführen lassen?

Danke!

Ja das ist richtig so, funktioniert es?

DD.20141015.0929.CEST

Ja Danke!! Das hat so funktioniert aber bei der Anweisung steig ich echt nicht durch.

%TITLE% > ist klar, gibt das gewünschte Tag Feld an
'' > gibt das Apostroph an
\u > markiert den Großbuchstaben
\b > markiert das Ende nach nur einem Buchstaben
\L$0 > nix verstehen... :rolleyes:

Vielleicht kann mir da kurz jemand die Augen öffnen dann fällts mir sicher leichter :w00t:

"Single character" character class: Escape sequence Equivalent to \u [[:upper:]] Word Boundaries \b Matches a word boundary (the start or end of a word). Escape Meanning \L Causes all subsequent characters to be output in lower case, until a \E is found. Placeholder Meaning $n Outputs what matched the n-th sub-expression.

DD.20141015.1433.CEST

OK, alles klar :book:

Gibt es vielleicht wo eine Auflistung welche Expressions man in Mp3Tag verwenden kann und wie?
Ist das gleich wie bei der Syntax von Notepad++?

Es gibt aber auch Titel, die z.B. diesen Syntax haben:

Dieses wird, zumindest bei mir, von dem obigen Beispielen nicht verändert.

Ich habe mir auf die folgende Art und Weise geholfen:

$REGEXP(%title%,'\x27\u\U\b','\L$0')

Ich weiss zwar nicht ob es so richtig ist oder ob es noch eine andere Möglichkeit gibt, aber bei mir funktioniert es wie gewollt.

Gruss
Kristallprinz