[Tustep-Liste] Vergleichen von Zeichenfolgen auf Wortebene

Kuno Schälkle schaelkle at zdv.uni-tuebingen.de
Mo Jan 27 16:22:37 CET 2020


Lieber Herr Hoffert,

vielleicht hilft Ihnen das folgendem Beispiel beim Lösen Ihres Problems:

SET suchzflg = "oben steht ein"

SET daten = *
DATA Oben steht ein Pferd
DATA Oben steht eine Kuh
DATA Droben steht ein Kalb

SET suchzflg = CONCAT (" ", suchzflg, " ")

LOOP zeile = daten
   SET zeile = CONCAT (" ", zeile, " ")
   IF (suchzflg .PA. zeile) THEN
     PRINT "Wortfolge >", suchzflg, "< ist in >", zeile, "< enthalten"
   ELSE
     PRINT "Wortfolge >", suchzflg, "< ist in >", zeile, "< nicht enth."
   ENDIF
ENDLOOP

Das Beispiel erzeugt folgende Ausgabe:

Wortfolge > oben steht ein < ist in > Oben steht ein Pferd < enthalten
Wortfolge > oben steht ein < ist in > Oben steht eine Kuh < nicht enth.
Wortfolge > oben steht ein < ist in > Droben steht ein Kalb < nicht enth.

Mit besten Grüßen
Kuno Schälkle



> 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.

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.itug.de/pipermail/tustep-liste/attachments/20200127/49125d4e/attachment.htm>


Mehr Informationen über die Mailingliste Tustep-Liste