Manchmal bekommt z.B. bei Auftragsdaten (Bestellungen) Straßenname (street) und Hausnummer (housenumber) zusammen in einem Feld steht.
Möchte man nun die Hausnummer in ein separates Feld schreiben (weil z.B. das Zielsystem das so erwartet), steht man vor dem Problem, die Hausnummer zu extrahieren.
Die perfekte Lösung dafür gibt es nicht, weil die Hausnummer je nach Land an verschiedenen stellen stehen kann (z.B. in Frankreich am Anfang, in Deutschland am Ende).


Der folgende Ansatz wäre zumindestens eine pragmatische Möglichkeit:



Man kann einen regulären Ausdruck (regex) mit der Freemarker Funktion matches verwenden, um die erste vorkommende Zahl (die Hausnummer) zu extrahieren und diese in eine neue Spalte schreiben.


Beispiel Straße: 22 RUE DU COMMERCE


<#assign firstNumber = street!?matches("(\\d+)")>
<#if (firstNumber?? && firstNumber?size > 0)>${firstNumber[0]}</#if>


Output: 22


Dieses Beispiel können Sie auch ausprobieren.