[Tustep-Liste] Vergleichen von Zeichenfolgen auf Wortebene

Christian Griesinger griesinger at uni-wuppertal.de
Mo Jan 27 14:52:19 CET 2020


Lieber Michael,

das geht auch ohne eigenen Algorithmus, Du kannst dafür Recherchiertabellen
verwenden und diese mit dem Operator .MA. (Handbuch S. 463-464) abfragen.
Ein kleines Beispielskrit, getestet mit TUSTEP 2018:

#Makro

$$ MODE TUSCRIPT, {}

- Die kürzere Wortliste als Recherchiertabelle einrichten
- mit /WORD werden nur ganze Wörter berücksichtigt.
BUILD R_TABLE/WORD r1 = "|Das ist ein|"

- Hier die beiden längeren Wortlisten
SET wortliste = "Das ist ein Wort"
SET wortliste2 = "Das ist eine Gabel"

IF (wortliste .MA. r1) THEN
    PRINT "'Das ist ein' ist in 'Das ist ein Wort' enthalten."
ENDIF

IF (wortliste2 .MA. r1) THEN
    PRINT "'Das ist ein' ist in 'Das ist eine Gabel' enthalten."
ELSE
    PRINT "'Das ist ein' ist nicht in 'Das ist eine Gabel' enthalten."
ENDIF

*eof

Das Programm gibt die beiden folgenden Zeilen aus:
'Das ist ein' ist in 'Das ist ein Wort' enthalten.
'Das ist ein' ist nicht in 'Das ist eine Gabel' enthalten.

Entspricht das dem Verhalten, das Du haben möchtest?

Zusatz: Wenn die Suche ohne Berücksichtigung von Groß- und Kleinschreibung
funktionieren soll, kann hinter BUILD R_TABLE auch noch /EXAKT  
angegeben werden.

-- 
Viele Grüße
Christian Griesinger, M.A.
Bergische Universität Wuppertal
Fakultät 1: Geistes- und Kulturwissenschaften
Ältere deutsche Literatur, O.08.07
Gaußstraße 20
42119 Wuppertal
Tel: +49 202 439 3301
Mail: griesinger at uni-wuppertal.de



Zitat von Michael Hoffert <tustep_saw_hoffert at mhlkg.de>:

> Diskussionsforum Tustep-Liste
> Weitere Informationen: www.itug.de
> ------------------------------------------------------------
>
> Liebe Liste,
>
> ich möchte kürzere Wortlisten darauf testen, ob sie (als ganze  
> Wörter) in größeren Wortlisten enthalten sind. Eigentlich dachte  
> ich, in
>
> IF (zflg1 .PA. zflg2) THEN
>
> die Lösung gefunden zu haben. Nur leider arbeitet dies nicht so wie  
> ich möchte. Angenommen ich habe
>
> SET zflg1 = "Das ist ein"
> SET zflg2 = "Das ist ein Wort"
>
> So ist eine gefundene Übereinstimmung wünschenswert. Für
>
> SET zflg3 = "Das ist eine Gabel"
>
> sollte dies aber nicht gelten, da ›ein‹ und ›eine‹ als Wörter nicht  
> übereinstimmen (auch wenn .PA. natürlich richtig arbeitet, da ›ein‹  
> in ›eine‹ enthalten ist). Gibt es also eine Möglichkeit diesen Test  
> auf den Vergleich ganzer Wörter einzuschränken? Wenn nicht, muss ich  
> mir einen Algorithmus bauen, der diese Überprüfung nachträglich  
> durchführt. Das ist sicher machbar, aber vielleicht habe ich ja in  
> der IF-THEN Abfrage einen Schalter übersehen, der mein Problem  
> einfacher löst.
>
> Viele Grüße aus Leipzig
> Michael Hoffert :-D
>
> ------------------------------------------------------------
> Tustep-Liste at itug.de
> https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste



Mehr Informationen über die Mailingliste Tustep-Liste