Groß schreiben nach Bindestrich mit Leerzeichen


#1

Guten Morgen,

mal wieder eine Frage, bei der die Suchfunktion nicht wirklich helfen konnte. Im Feld TITLE habe ich nach dem Durchlaufen von meinen Standard-Aktionen folgende Einträge:

Wanderlust - junior hop - jeep's Blues - squatty roo

Ich möchte gerne eine Aktion anlegen, bei der der jeweilige erste Buchstabe nach dem Leerzeichen groß geschrieben wird:

Wanderlust - Junior hop - Jeep's blues - Squatty roo

Mit "Schreibweise" geht es leider nicht, für "Ersetzen mit regulärem Ausdruck" fehlt mir leider der korrekte String.

Mit der Bitte um Hilfe.


#2

Du könntest dir ja eine Gruppen von aktionen anlegen, die folgende Schritte ausführen:
Minus-Blank ersetzen in nur Minus
Schreibweise "normal" mit Minus als Worttrenner
Minus ersetzen in Minus-Blank

Alles völlig ohne reguläre Ausdrücke ....


#3

Hallo Ohrenkino,

noch habe ich anscheinend nicht die richtige Aktion erwischt. Nach der Aktion sieht es leider so aus:

Houseoflordsspokenintroduction - Houseoflords

anstatt

House of lords spoken introduction - House of lords

Ich muss jetzt aber auch leider zur Arbeit. Ich melde mich aber sich heute Abend wieder.

Trotzdem erst einmal vielen Dank für Deine Hilfe! :laughing:


#4

Das geht mit der Aktion "Ersetzen", nicht "Ersetzen mit regulärem Ausdruck".

Der Suchbegriff besteht aus 2 Zeichen: dem Minuszeichen (für Bindestrich) und dem Leerzeichen (nenne ich gerne "Blank").
Das soll ersetzt werden durch nur 1 Zeichen, nämlich dem Minuszeichen für Bindestrich.
Houseoflordsspokenintroduction - Houseoflords
wird dann
Houseoflordsspokenintroduction -Houseoflords

In der Aktion zum Ändern der Schreibweise kann man die Zeichen angeben, die eine Wortgrenze festlegen. Wenn da nur das Minuszeichen eingetragen ist, sollten nur die Buchstabe nach den Minuszeichen groß geschrieben werden.
Und wenn du dann Das Minuszeichen wieder ersetzt durch 2 Zeichen, nämlich Minuszeichen und Leerzeichen, ist alles wieder wie vorher ...

Ich bin mir allerdings ziemlich sicher, dass DetlevD noch einen tollen regulären Ausdruck in petto hat, der das alles in einer Aktion (und nicht 3) schafft.


#5

Aktion: Tag-Feld formatieren
Feld : TITLE
Formatstring: $regexp($lower(%TITLE%),'(^|-\s)(.)','$1\u$2')
... oder ...
Formatstring: $replace($caps($replace($lower(%TITLE%),' - ','~'),'~'),'~',' - ')
Von:
Wanderlust - junior hop - jeep's Blues - squatty roo
Nach:
Wanderlust - Junior hop - Jeep's blues - Squatty roo

DD.20111201.2035.CET


#6

Vielen Dank für die Mühe an Dich Ohrenkino. Trotz nochmaligem Testen mit geänderten Eingaben erscheint mir die Lösung über die Ersetzen-Aktion nicht geeignet. Ich nehme jedes Mal beim Ersetzen alle Leerzeichen mit weg, da ich nicht begrenzen kann, dass nur das Leerzeichen nach dem Bindestrich gelöscht werden soll. Trotzdem vielen Dank für Deine Mühe.

Die Lösung von DetlevD ist perfekt. Vielen Dank für die Mühe! Wenn ich die Frage früher gestellt hätte, wären mir vermutlich 4 Jahre händische Änderung erspart geblieben...

Schönen zweiten Advent für Euch Beiden.