Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

tustep:loesungen:einfuegen

Zurück zum Inhaltsverzeichnis - Lösungen und Tipps


Kurzformen durch Volltext ersetzen

- [ re.to | re.to ]

Textteile/Kurzformen lassen sich bequem mit #KOPIERE und dem Parameter XX austauschen:

#KOPIERE,q,z,,+,*
xx        ||bbaa||
xx        |aa|cc|yy|zz|
         * Kommentar: Beginn 2. Durchgang
xx     2  |zz|yy|
*eof

er wird z.B. jede Zeichenfolge „aa“ zu „cc“ ausgetauscht, außer wenn vor „aa“ noch „bb“ steht. Auch wird jede Zeichenfolge „yy“ gegen „zz“ getauscht (hier greift die in der ersten Zeile definierte Ausnahme nicht). Auch distinkte Austausch-Vorgänge sind möglich: Im zweiten Durchgang wird „zz“ wieder zu „yy“ zurückgetauscht. Weitere Annehmlichkeiten sind das Pattern-Matching (cf. #KOPIERE, Tustep Pattern Matching).

Sehr lange XX-Tabellen
Das Austauschen von sehr langen XX-Listen ( ~ ab ca. 1000 Austauschpaaren) braucht aber viel zu lang (weil man eben all die Features, wie Pattern Matching und Ausnahmen nutzen kann). Das Kommando #EINFUEGE erledigt den Job (ohne die genannten Features von #KOPIERE-XX) ungleich schneller.

Das Kommando und seine Spezifikationen lautet:

#EINFUEGE,quelle,ziel,modus,loeschen,parameter,kuerzel

Beispiel: Tierkürzel auflösen

Testdateien:

demo_einf_q [2 KB]

demo_einf_k.tf [2 KB]

demo_einf.p [2 KB]


Ausgangsdaten:

aa bb cc

Jeden der (durch Leerzeichen getrennten) Einträge in unserer Quelldatei (demo_einf_q) können wir nun expandieren zu einem Tier. Die Zuordnung zu einem Tier legen wir in unserer Kürzel-Datei fest:

<a>aa</a>artikulierterAffe
<a>bb</a>banalerBär
<a>cc</a>copyCat

Nun müssen wir nur noch unsere Quelldatei so verändern, dass deren Kürzel-Einträge mit denen in unserer Kürzel-Datei übereinstimmen:

#- 1. Teil: demo_einf.p
#da,de_t1'de_t2,fr=-
#ko,demo_einf_q,de_t1,,+,*
         * >tz = character group
         * ein TierZeichen: a, b oder c
>tz       abc
         * genau 2 TierZeichen hintereinander bilden
         * ein Kürzel, das wir noch mit <a>...</a>
         * klammern wollen
xx        |{2}{C:tz}|<a>{+1=}</a>|

         ****************************
         * de_t1:
          <a>aa</a> <a>bb</a> <a>cc</a>
*eof

… und können sodann #EINFUEGE benutzen

#- 2. Teil: demo_einf.p
#ein,de_t1,de_t2,,+,*,kuerzel=demo_einf_k.tf
         * Anfang Kürzel in QuellDatei
akd       |<a>|
         * Ende   Kürzel in QuellDatei
ekd       |</a>|

         * und ebenso für die Kürzel-Datei
akk       |<a>|
ekk       |</a>|
*eof

Die Zieldatei de_t2 enthält dann unsere Tiere:

artikulierterAffe banalerBär copyCat

Und ein Blick ins Ablaufprotokoll gibt uns auch ein paar Statistiken:

#ein,de_t1,de_t2,,+,*,kuerzel=demo_einf_k.tf
Start EINFUEGE   auf: thinkp   am: 01.07.15  um: 12:07:59
****  3 Kürzel aufgelöst
[...]

NB: Mit den Parametern UNG und UND kann man anzeigen lassen, welche Kürzel aus der Kürzel-Datei nicht benutzt oder welche Kürzel in der Quell-Datei nicht ersetzt wurden.
Mit dem Parameter MKL kann zudem die maximale Länge der Kürzel verändert werden.


Zurück zum Inhaltsverzeichnis - Lösungen und Tipps

tustep/loesungen/einfuegen.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)