Neu Warum funktioniert diese RegEx auf regex101.com aber nicht in der WaWi als Workflow?

sebjo82

Sehr aktives Mitglied
3. Juni 2021
689
204
Was soll erreicht werden? Im Feld Lieferadresse.Straße steht:
12345678 Packstation 125
Ich möchte die Postnummer entfernen.

Warum funktioniert diese DotLiquid RegEx auf regex101.com (Bild 2) aber nicht in der WaWi als Workflow (Bild 1)?

{{ Vorgang.Lieferung.Lieferadresse.Straße | Replace: "\d{6,10}", }} liefert Error (Bild 1)

{{ Vorgang.Lieferung.Lieferadresse.Straße | Replace: "\d", }} funktioniert einwandfrei, im Sinne von es löscht alle Ziffern

\d{6,10} matcht eindeutig die Postnummer im Feld Straße (siehe Bild 2)

Was mache ich falsch?
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    23,8 KB · Aufrufe: 15
  • Unbenannt1.PNG
    Unbenannt1.PNG
    53,7 KB · Aufrufe: 15

fibergirl

Sehr aktives Mitglied
14. April 2016
833
265
Mal geraten:
Es liegt möglicherweise an den inneren geschweiften Klammern in der Regex. Die sollten bei Dotliquid vielleicht escaped werden \{ \} , damit sie sich nicht mit den äußeren {{ }} ins Gehege kommen.

Die Fehlermeldung lässt für mich jedenfalls darauf schließen.
 

sebjo82

Sehr aktives Mitglied
3. Juni 2021
689
204
Mal geraten:
Es liegt möglicherweise an den inneren geschweiften Klammern in der Regex. Die sollten bei Dotliquid vielleicht escaped werden \{ \} , damit sie sich nicht mit den äußeren {{ }} ins Gehege kommen.

Die Fehlermeldung lässt für mich jedenfalls darauf schließen.
Das hört sich schlüssig an. "\d\{6,10\}" funktioniert aber leider nicht. Wie kann ich dem DotLiquid Workflow denn sagen "lösche alle 6- bis 10 stelligen Zahlen", wenn ich keine {} benutzen kann?
Edit: man könnte in der dotliquid logik checken ob 99999 < Zahl <= 999999999. etwas unschön aber sollte funktionieren
 
Zuletzt bearbeitet:

M°M

Sehr aktives Mitglied
15. Oktober 2020
244
73
Das hört sich schlüssig an. "\d\{6,10\}" funktioniert aber leider nicht. Wie kann ich dem DotLiquid Workflow denn sagen "lösche alle 6- bis 10 stelligen Zahlen", wenn ich keine {} benutzen kann?
Edit: man könnte in der dotliquid logik checken ob 99999 < Zahl <= 999999999. etwas unschön aber sollte funktionieren
Keine direkte Lösung für Dein Problem aber eine andere Herangehensweise: Ich habe aus dem JTL Guide diesen Workflow übernommen, der eine Postnummer in das Feld "Adresszusatz" verschiebt und aus der Firmenangabe löscht (bei Dir entsprechend aus der Straße).

Falls Deine Intention nicht daher kommt, dann => Ablage P

1626685569200.png
 

sebjo82

Sehr aktives Mitglied
3. Juni 2021
689
204
Keine direkte Lösung für Dein Problem aber eine andere Herangehensweise: Ich habe aus dem JTL Guide diesen Workflow übernommen, der eine Postnummer in das Feld "Adresszusatz" verschiebt und aus der Firmenangabe löscht (bei Dir entsprechend aus der Straße).

Falls Deine Intention nicht daher kommt, dann => Ablage P

Eine Postnummer als Bedingung zu identifizieren klappt. Das Problem besteht diese Postnummer aus einem String zu extrahieren. In meinem Beispiel stand ja im Feld "Straße": "12345678 Packstation 125". "Packstation 125" soll in Straße bleiben, "12345678" extrahiert werden. In diesem Thread (https://forum.jtl-software.de/threa...orkflow-korrigieren.124946/page-3#post-863935) steht eine Lösung, aber ich bin noch nicht ganz hintergestiegen, wie der Workflow funktioniert
 
  • Gefällt mir
Reaktionen: M°M

sebjo82

Sehr aktives Mitglied
3. Juni 2021
689
204
Ich habe eine Lösung gefunden, wie man die Postnummer extrahieren kann. RegEx {} funktionieren in den DotLiquid {{ }} Tags zwar nicht, aber sie funktionieren in den {% %} Tags, d.h. man kann mit:
Code:
{% assign Straße-PostNr = Vorgang.Lieferung.Lieferadresse.Straße | Replace: '[0-9]{6,10}', -%}
{{ Straße-PostNr }}
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Straße | Replace: Straße-PostNr, -%}
{{ PostNr }}
Die Straße von der Postnummer splitten, als Variable speichern und einzeln ausgeben
 
  • Gefällt mir
Reaktionen: M°M und fibergirl
Ähnliche Themen
Titel Forum Antworten Datum
Neu IDU funktioniert nicht seit automatischer USt.-Berechnung Amazon-Anbindung - Fehler und Bugs 3
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 5
Die Suche von Stücklistenartikeln/Bundles funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu DHL funktioniert nicht JTL-ShippingLabels - Fehler und Bugs 5
Funktioniert die Adressvalidierung inzwischen? JTL-Wawi 2.0 1
Neu Sortierung der Variationswerte funktioniert nicht mehr Shopify-Connector 6
Retourenetikett Internetmarke funktioniert nicht mehr JTL-Wawi 2.0 1
Neu WMS-APP funktioniert nicht - Fehlermeldung: andere Edition wird benötigt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Erstellung der Sitemap bei WaWi Abgleich funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu DHL 4.0 mit JTL-ShippingLabels funktioniert nicht JTL-ShippingLabels - Fehler und Bugs 2
Wawi 1.11. Rechnungsanhang funktioniert nicht mehr bei Versandmail JTL-Wawi 1.11 6
Neu Warnung: Attribute via JTL Funktion JTL_GetProductAttribute() funktioniert nicht zuverlässig Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
PayPal Abgleich funktioniert nicht (JTL 1.9.8.0) JTL-Wawi 1.9 23
Neu WAWI 2.0.2 Auftragsuche nach Ebay-Benutzernamen funktioniert nicht JTL-Wawi - Fehler und Bugs 1
Neu Funktioniert Shop 5.7 mit MariaDB 10.5.29? Installation / Updates von JTL-Shop 1

Ähnliche Themen