Versuch es doch mal hiermit:
$replace($caps($regexp($lower(%title%),\b(from|the|to|of|xxx)\b,@$1),'('/ ),@,)
Ich hab das jetzt ein bisschen umgewandelt. Mein Lösung hat jetzt Vor- und Nachteile.
Durch $caps statt $caps2 werden alle Wörter gleich behadelt, egal wie sie zuvor geschrieben wurden. OF wäre ja mit deiner Lösung auch nicht umgewandelt worden. Satzzeichen machen jetzt auch kein Problem, zuvor wären Of, oder (Of oder /Of nicht umgwandelt worden.
Das einzige Problem das bei meiner Lösung bleibt sind Wörter die groß gerschrieben werden sollen. Ein Titel wie "God Is A DJ" z.B wird zu "God is a Dj"
Ein ähnliches Problem wurde hier vor kurzem diskutiert:
/t/10579/1
einen Formatstring zu finden, der alle Fälle abdeckt ist wohl fast unmöglich weil es immer Titel mit komischen Schreibweisen gibt.