Zeichen innerhalb eines Textes austauschen

Anforderung

In einem Dokument soll in einer bestimmte Textpassage einzelne Zeichen gegen andere ersetzt oder unterdrückt werden.

In diesem Beispiel soll in der Angebotsnummer der Schrägstrich gegen ein Minuszeichen ersetzt werden. Grundlage ist das Formular 'Angebot einzelne Seite mit Bildern' aus der Beispielinstallation. Der Ausdruck vor der Änderung sieht wie folgt aus (Ausschnitt):

Realisierung

Zur Realisation dieser Anforderung wird im hier verwendeten Formular ein Textfeld hinzugefügt. Die Aufgabe des Textfeldes ist, die Angebotsnummer zu finden, den Schrägstrich zu isolieren und vom Blatt zu entfernen und als Minuszeichen wieder hinzuzufügen.

Das Textfeld dazu sieht dann so aus:

Aus der Indexdatei des Ausdrucks ist bekannt, daß sich die Angebotsnummer in einer Textpassage mit dem Index '0007C10000' befindet. Um den Schrägstrich in der Angebotsnummer zu isolieren, werden zunächst mit dem Muster '(.*#####)' alle Zeichen links vom Schrägstrich in den ersten internen Textpuffer übertragen. Mit dem Muster '(#)' wird die letzte Ziffer der Angebotsnummer in den zweiten internen Textpuffer übertragen. Mit der Auswahl 'Ja' bei 'Feld entfernen' wird die gesamte Textpassage aus dem Ausdruck entfernt.

Da wir die Laufweite der Schrift nicht ändern, gestaltet sich die Positionierung des neuen Textes recht einfach. Die Position bleibt unverändert. Mit der Angabe 'Relativ zum Feld' und den Offsets von '0 cm' wird dies gewährleistet.

In der Schablone wird nun der gepufferte Text mit der Angabe '\Angebot:1-\Angebot:2' mit einem Minuszeichen wieder zusammengesetzt. Die Referenz über einen Namen ist hier möglich, weil wir dem Textfeld den Namen 'Angebot' gegeben haben.

Das Ergebnis dieser Änderung sieht jetzt erwartungsgemäß so aus (Ausschnitt):

Selbstverständlich kann nicht nur ein Zeichen gegen ein anderes ersetzt werden, sondern es können auch ganze Zeichenfolgen eingefügt werden. Ändert man die Schablone etwa auf '\Angebot:1 Version \Angebot:2' wird der Ausdruck wie folgt erfolgen:

Ändert man die Schablone auf '\Angebot:1\Angebot:2', würde lediglich der Schrägstrich in der Angebotsnummer entfernt werden.

Bemerkungen