Manchmal muss man Text bereinigen. Nicht um Worthülsen, sondern um Leerzeichen…
Zum Beispiel, wenn dem Text:
- ein Leerzeichen voraus geht,
- ihm ein solches angehängt wurde oder
- im Text doppelte oder mehr Leerzeichen auftauchen.
Hier hilft FileMaker mit einer oft verkannten Funktion TrimmeAlle/TrimAll.
Aber der Reihe nach:
Trimme/Trim gibt den Text ohne führende oder folgende Leerzeichen zurück,
ignoriert aber doppelte oder mehrfache Leerzeichen innerhalb des Textes.
Trimme( MeinText )
Ersetzen/Substitute findet die doppelten Leerzeichen.
Ersetzen(MeinText; „ „; “ „)
Muss aber für die Fälle von mehrfachen Leerzeichen angepasst werden – z.B. so um auch drei- und vierfache Leerzeichen zu ersetzen:
Ersetzen(MeinText; [" "; " "]; [" "; " "]; [" "; " "])
Um dann noch mit Trimme kombiniert werden zu müssen:
Trimme( Ersetzen( MeinText; [" "; " "]; [" "; " "]; [" "; " "] ) )
Dieser Ansatz ist nicht nur umständlich, sondern, man ahnt es, unnötig! Filemaker hilft hier für alle oben gelisteten Fälle mit einer einzigen Funktion!
TrimmeAlle( MeinText; 0; 0 )
Dass TrimmeAlle so ein Schattendasein führt, liegt wohl zum einem an der „wundervollen“ Übersetzung in der Hilfe und dem Schwerpunkt auf nicht romanische, sprich: asiatische Schriftzeichen. Ganz zu unrecht!
Übrigens: TrimmeAlle( MeinText; 0; 3) löscht alle Leerzeichen im Text. Damit kann man beispielsweise verhindern, dass eine Kennung mit Leerzeichen getrennt gespeichert wird, wenn man dem entsprechenden Textfeld die Option „Berechneter Wert/Calculated value“ mit TrimmeAlle( selbst; 0; 0 ) zuweist:
Wobei selbst/self sich immer auf das aufrufende Feld bezieht. In unserem Falle bezieht es auf das Feld Kennung und hat damit den Wert „Kennung“, benutzt man aber diesen Ausdruck im Feld BLZ, dann gibt es auch den Wert „BLZ“ zurück.
Fröhliches Textvertrimmen wünscht,
Reinhold Goss.