[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