Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 Anazhl ermitteln, wie oft ein Suchbegriff in einem Text vorkommt
Autor: Michael Hettner (---.dip0.t-ipconnect.de)
Datum:   09.08.20 22:16

Vor Jahren hatte ich mal eine einfache Möglichkeit gesucht, ohne viel Rechnerrei und API, zu ermitteln, wie oft ein Suchbegriff in einem langen Text vorkommt.
Bei der Durchsicht meiner uralten Quelltexte ist mir dann eine ganz simple Lösung eingefallen. Falls es jemand braucht:

1. Länge des Suchbegriffes ermitteln
2. Länge des Text, zb. aus einem Multiedit ermitteln
3. Alle Vorkommen des Suchbegriffes aus dem Text löschen und die neue Textlänge ermitteln
4. neue Textlänge von der ursprünglichen Textlänge abziehen
5. Ergebnis durch die Textlänge des Suchbegriffes teilen


 
 x% = @Len(Suchbegriff$)  
 y% = @Len(gettext$(MultiEdit&)) 
 
 
 if y% > 0
 
   z% = @Len(@Translate$(gettext$(MultiEdit&),Suchbegriff$,"")) 
   r% = y% - z% 
   anzahl% =  r% / x%  
 
 endif
 
 


Der schlimmste aller Fehler ist, sich keines solchen bewußt zu sein.
(Thomas Carlyle
04.12.1795 - 05.02.1881
Schottischer Essayist und Historiker)

Beitrag beantworten
 
 Re: Anazhl ermitteln, wie oft ein Suchbegriff in einem Text vorkommt
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   11.08.20 18:59

Den Suchtext könnte man ja auch als Delimiter ansehen.
Dieser darf ja auch aus mehreren Zeichen bestehen.
Dann müßte auch LEN() usw. gehen.

 Declare String s, A$[]
 Cls
 s =  "Mein Vater war ein wandersmann."
 
 Print Len(s, "wa")
 A$[] = Explode(s, "wa")
 Print SizeOf(A$[])
 Print Move("StrToList", s, "wa")
 
 Waitkey
 


wobei die Move-Funktion am elegantesten ist.
Wäre noch die Frage, warum alle Funktionen 1 zuviel ausgeben.
Oder mache ich was falsch ?

H.Brill
XProfan X4 + FreeProfan

Beitrag beantworten
 
 Re: Anazhl ermitteln, wie oft ein Suchbegriff in einem Text vorkommt
Autor: Matthias Arlt (---.dynamic.kabel-deutschland.de)
Datum:   11.08.20 19:16

Ergebnis ist immer 3. Das funktioniert also korrekt. Es wird ja die Anzahl der Teilstrings zurückgegeben, nicht die der Delimiter...

Gruß Matthias

Beitrag beantworten
 
 Re: Anazhl ermitteln, wie oft ein Suchbegriff in einem Text vorkommt
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   11.08.20 19:22

Stimmt ja, ist nun klar.
Also, wenn man das im Hinterkopf behält und 1 abzieht,
kann man durchaus diese Funktionen dafür mißbrauchen. :-D

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (11.08.20 19:25)

Beitrag beantworten
 
 Re: Anazhl ermitteln, wie oft ein Suchbegriff in einem Text vorkommt
Autor: Matthias Arlt (---.dynamic.kabel-deutschland.de)
Datum:   11.08.20 20:01

Im Prinzip schon. So lange der Text nicht gleichzeitig mit einer Zeichenfolge beginnt und/oder endet, die dem Delimiter entspricht.
Da ist die 'Translate-Variante' dann doch die bessere Wahl.



Nachricht bearbeitet (11.08.20 20:03)

Beitrag beantworten
 
 Re: Anazhl ermitteln, wie oft ein Suchbegriff in einem Text vorkommt
Autor: Arndt Lindner (80.150.206.---)
Datum:   13.08.20 11:22

Einfach am Anfang und am Ende des durchsuchten Strings ein Zeichen anfügen, dass verschieden vom Suchbegriff ist. Dann gehen alle von Heinz Brill vorgeschlagenen Methoden. Ich benutze immer die Version mit len().



Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org