Hallo zusammen,
ich hab eine Spalte mit Produktbeschreibungen im Mapper, aus der ich nur den Produkttyp (frisch oder tiefgefroren) in einer anderen Spalte extrahieren möchte. Der Typ, wenn vorhanden, ist nach dem letzten Komma in der Beschreibung zu finden. Ich hab bis jetzt eine Arbeitsspalte erstellt, in der mit keep_after_last mir die Daten ziehe. Das Ergebnis sieht dann so aus:
Wie ihr seht, bekomme ich neben dem gewünschten Ergebnis auch andere Daten, die ich gerne löschen möchte.
Bis jetzt hab ich probiert
- Suchen & Ersetzen + regex in der Ergebnisspalte
- if - else oder if - elseif - else in einer weiteren Spalte
Da ich mich aber weder mit freemarker noch mit regex wirklich auskenne und auch ChatGPT nicht so hilfreich war, kriege ich es nicht hin, nur Frisch und tiefgefroren zu behalten. Ich bin sicher, dass es eine elegante Lösung gibt, aber komme leider nicht darauf.
Mein letzter Versuch war:
<#if result["description_work"]!?keep_after_last(",") == Frisch || result["description_work"]!?keep_after_last(",") == tiefgefroren>${result["description_work"]!?keep_after_last(",")}<#else>unbekannt</#if>
description_work ist die linke Spalte aus dem Screenshot. Der Code sollte sagen „Wenn das Ergebnis von keep_after_last „Frisch“ oder „tiefgefroren“ ist, gib mir in der Ergebnisspalte das Ergebnis (also diese Wörter) aus. In allen anderen Fälle sollte „unbekannt“ darin stehen“.
Das Ergebnis vom Versuch:
Ich bin am Ende mit meinem Latein. Hat jemand Ideen?
Maya