[Tustep-Liste] Zeichen neben Muster

Michael Hoffert tustep_saw_hoffert at mhlkg.de
Mo Feb 10 11:59:59 CET 2020


Kuno Schälkle schrieb am 07.02.20 um 17:36:
 >> ich habe einen Text und möchte die Zeichen haben,
 >> welche einem Muster voranstehen bzw. diesem folgen.
 >
 > Wieviele Zeichen sollen es vor bzw. nach dem Muster sein?
 >
 >> aber ich hätte gerne eine Liste der Zeichen.
 >
 > Können Sie mir bitte eine kleine Beispieldatei schicken
 > und eine Datei mit dem gewünschten Ergebnis?
 >
 >> Verschärfte Frage: Zwischen Muster und dem Zeichen
 >> können weitere tags stehen.
 >
 > Hätten Sie da auch Beispiel?
 >
> möglicherweise wäre "KWIC-Index" das richtige Stichwort.
> 
> Mit besten Grüßen
> Kuno Schälkle
> 

Lieber Herr Schälkle,
Liebe Liste,

Die Daten liegen sowohl als XML-File als auch als UTF-8 codierter 
Plain-Text vor. Das gesuchte Zeichen ist das Rotunda-r welches in XML so:
<g ref="#rrot">r</g>
und in UTF-8 (in TUSTEP importiert) so: #[A75B] codiert ist.

In XML kann der Eintrag in einer Zeile so aussehen:
<lb n="N005"/>In gelb vnd <abbr>gwar<ex>e</ex><am><g 
ref="#bar_e"/></am>m</abbr> dich <abbr>gancz<ex>er</ex><am><g 
ref="#combcomma_er"/></am></abbr> <abbr>ha<g 
ref="#combcurlbar"/>lb<ex>e</ex><am><g ref="#bar_e"/></am><g 
ref="#rrot">r</g>n</abbr>

Erste Ausgangsthese war, daß das Rotunda-r nur nach ›weichen, runden‹ 
Buchstaben wie b,g,p oder o stehen würde. Das obige Beispiel zeigt 
schon, dass dies nicht der Fall ist. Um dies anzeigen zu lassen, habe 
ich alle Tags bis auf <g ref="#rrot">r</g> getilgt und mir dann das 
Suchmuster mittels zn,,,|?<g ref="#rrot">r</g>| anzeigen lassen. So war 
schnell klar, daß die These für diesen Text nicht haltbar war. Weitere 
direkte Suchen nach vorangehendem e, sowie den zu erwartenden Buchstaben 
b, g, p und o haben gezeigt, daß diese Aussage auch signifikant in der 
Anzahl der Vorkommen ist.

Jetzt hätte ich aber gerne eine entsprechende Liste ausgegeben, nach 
Möglichkeit auch mit der Anzahl der Vorkommen. Gerne auch als ganzen 
Eintrag (sprich: das zusammenhängende Wort). Soweit möglich auch ohne 
die vorhergehende Eliminierung aller anderen Tags.

Meine Fragen, die sich durch dieses Problem ergeben haben:
* Kann ich ein negiertes Muster im Editor in Suche und Austausche 
angeben? → »Lösche alles zwischen < und >, wenn dort nicht XXX steht?«

* Kann ich eine Ausgabe von zn in eine Datei ausgeben lassen? → 
Wahrscheinlich ist dafür #KOPIERE eh besser geeignet.

KWIC-Index habe ich mir mal angeschaut. Das sieht vielversprechend aus. 
Da ich mich hier aber in Bereichen des Handbuches bewege, die ich noch 
nie aufgeschlagen habe, werde ich erst noch etwas lesen müssen :-)

Bisheriges Fazit:
Das Ursprungsproblem ist relativ schnell gelöst worden, trotzdem hat es 
für mich einige Fragen aufgeworfen und mich nicht losgelassen diesen 
weiter nachzugehen. Die Frage wurde auf einem Hackathon mittels 
XML-Query, Python und eben TUSTEP in Angriff genommen und TUSTEP hat 
sich erstmal nicht schlecht geschlagen. Ich würde nun ganz gerne noch 
eine ›schöne‹ Lösung nachreichen um eine Lanze für TUSTEP zu brechen. 
Leider bin ich in #KOPIERE nicht so fit, um diese Lösung mal eben aus 
dem Hut zu zaubern (das hätte schon Eindruck gemacht ;-). In TUSCRIPT 
würde ich dies wohl hinbekommen, aber eben nicht mit ein paar Zeilen 
Code und in so kurzer Zeit.

Vielen Dank für's Mitgrübeln
Michael Hoffert



Mehr Informationen über die Mailingliste Tustep-Liste