Doppelte Einzelbuchstaben (Initialen) zusammenfassen


#1

Tut mir leid, ich muss Euch leider auch hier noch einmal nerven:

Ich möchte gerne doppelte/mehrfache Einzelbuchstaben im %ARTIST% zusammenfassen.

Beispiel: J F K Feat B B King -> JFK Feat BB King

Die Action darf nur auf Einzelbuchstaben, nicht auf Zahlen ansprechen!

Wer kann mir helfen?


#2

Das Problem wird sein, dass nach dem ersten Löschen bei "J F K" keine 2 EInzelbuchstaben mehr vorliegen, sondern ein Zweibuchstaben"wort" (JF) und ein EInzelbuchstabe (K).

Von daher wirst du für jede Kombination einen eigenen Suchbegriff formulieren müssen:
hier der für 3 Einzelbuchstaben

mit regulärem Ausdruck ersetzen:

(.* )([a-z]) ([a-z]) ([a-z])( .*)
Ersetzen mit
$1$2$3$4$5

mit 2 Einzelbuchstaben:
(.* )([a-z]) ([a-z])( .*)
ersetzen mit
$1$2$3$4

Vielleicht filterst du die erstmal:
%artist% MATCHES " [a-z] [a-z] [a-z] "


#3
$regexp($regexp('J F K Feat B B King','(?:^|\s)\S{2,}(?:\s|$)',' $0 '),'(\S)\s','$1')

von:
"J F K Feat B B King"
über:
"J F K Feat B B King "
nach:
"JFK Feat BB King"

DD.20120312.0800.CEST


#4

Detlef, Du hast es echt drauf! :slight_smile:

Danke!


#5

Mit einer Einschränkung: Zahlen werden jetzt doch mit einbezogen.
Aus "3 A M" wurde nun "3AM", statt "3 AM" und aus "3 P" wurde "3P", statt es bei "3 P" zu belassen.

Edit: Erledigt, ich habe Deine "Zahlendreher-Expression" nun dahinter gesetzt, die korrigiert das wieder.