Suchen und Ersetzen funktioniert nicht richtig

Guten Morgen,


habe eine Frage bezügl. eines Scripts in der suchen & ersetzen Funktion. Ein Mitarbeiter von uns hat folgendes Script hinterlegt. Leider ist der Mitarbeiter zZ. nicht erreichbar und ich weiss nicht was das bedeutet.


image

Kann mir das bitte einer erklären? Wonach wird hier gesucht und durch was wird hier ersetzt? In der Ausgabe darf zB das "&" nicht ausgegeben werden. Funktioniert so aber leider nicht.


Können sie bitte bitte mal ein konkretes Beispiel nennen? D.h. einen Text und das erwartete Ergebnis dazu?

Dieser Reguläre Ausdruck in Ihrem Screenshot (so nennt sich das) ersetzt ein & Zeichen durch die Zeichenfolge & , aber nur wenn das & Zeichen zwischen anderen Zeichen steht. D.h. ihre Aussage, dass ein & nicht mehr ausgegeben werden darf, ist nicht korrekt.
Zum ausprobieren von RegEx empfehlen wir Tools wie dieses hier.

Wir übermitteln Aufträge aus unserem System mittels XML an unseren Lieferanten. Die Daten in dieser XML dürfen keine Sonderzeichen enthalten. Als Beispiel:


<row>

<Generator_Info>Test GmbH & Co KG</Generator_Info>

<Generation_Date>2018-11-29T10:09:59+01:00</Generation_Date>

<Order_ID>50027791</Order_ID>

<Order_Date>2018-11-29T10:09:59+01:00</Order_Date>

<FirstName>Test</FirstName>

<Surname>Testname</Surname>

<Street>Hechtstr. 12</Street>

<AdditionalAddress></AdditionalAddress>

</row>


Das "&" in <Generator_Info> würde einen Fehler bei dem System des Lieferanten ergeben. Hier muss also eine Funktion hinein, die "&" durch zB. u. ersetzt.


<Generator_Info>Test GmbH u. Co KG</Generator_Info>

Danke für das Beispiel:

In diesem Fall könnten Sie auch direkt das ?xml von Freemarker an der Variable nutzen, die sie im Tag Generator_Info ausgeben.

z.B.

${firma?xml}


Diese ?xml Funktion sorgt automatisch dafür dass alle Zeichen ersetzt werden, die in XML nicht erlaubt sind.