[[tustep:loesungen:start|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:**\\
\\ {{files_open:daten:demo_einf_q|demo_einf_q}} [2 KB]
\\
\\ {{files_open:daten:demo_einf_k.tf|demo_einf_k.tf}} [2 KB]
\\
\\ {{files_open:daten:demo_einf.p|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:\\
aaartikulierterAffe
bbbanalerBär
cccopyCat
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 ...
* klammern wollen
xx |{2}{C:tz}|{+1=}|
****************************
* de_t1:
aa bb cc
*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 ||
* Ende Kürzel in QuellDatei
ekd ||
* und ebenso für die Kürzel-Datei
akk ||
ekk ||
*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.
----
[[tustep:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]]