Unnötige Leerzeichen entfernen

Hallo zusammen,

ich bekomme immer folgendes Ergebnis:

Habe es schon mit trimmen versucht, aber leider keinen Erfolg gehabt. Wie bekomme ich die unnötigen Leerzeichen Abstände noch weg?

Gruß
Tony

Hallo Tony,

das hört sich nach einem Fall für Regex an. Mit der folgenden Funktion solltest du ans Ziel kommen.

replace(" +", " ", "r")

Replace ersetzt Zeichenketten. " +" sucht nach beliebig vielen Leerzeichen und jeden Treffer wird durch das zweite Argument, also ein einzelnes Leerzeichen, ersetzt. Mit dem dritten Argument sagt man der Funktion, dass es sich bei dem Suchstring um Regex handelt.

Hier noch ein Beispiel: Mapping - Transformy

Gruß
Gustav

2 Likes

Vielen Dank. Aber wie bekomme ich den Text dahin, benötige ich eine neue Spalte?

image

Was setzte ich anstatt den Text in " rein bei mir?

Gruß
Tony

Du kannst auch mit der vorgefertigten Suchen und ersetzen-Funktion arbeiten. Diese kann auch reguläre Ausdrücke.

Oben kommt der Suchbegriff " +" rein und unten nur " ". Den Haken bei Aktiviere regulären Ausdruck oben in der Ecke nicht vergessen.
Das ist die einfachste Lösung, aber leider etwas unübersichtlich, weil man die Leerzeichen in dem Feldern nicht sieht.


Der Vollständigkeit halber hier noch die kompliziertere Variante über Freemarker-Skript:

Dein Text kommt ja aus der Spalte Texts_LongDescription w/o HTML. Diese kannst du auch als Variable in dem Wert-Feld adressieren. Sieht dann inklusive Aufruf der Replace-Funktion wie folgt aus:

${Texts_LongDescriptionwoHTML?replace(" +", " ", "r")}

Leerzeichen sowie der Backslash sind in Freemarker als Teil von Variablennamen nicht erlaubt und werden deshalb entfernt. Wenn du über das kleine Plus-Zeichen an dem Werte-Feld deine Quellzeile hinzufügst, werden die Variable auch korrekt ohne die Sonderzeichen eingetragen.


Ich hoffe, dass sorgt nicht für mehr Verwirrung als vorher. Ansonsten kannst du den unteren Teil auch einfach ignorieren. Für die Arbeit mit den Standard-Mapper-Funktionen muss man nur in den seltensten Fällen selbst Freemarker-Skripte schreiben.

Gruß
Gustav