galagher - Fr 29.04.05 18:51
Titel: Worte im String zählen+das am meisten vorkommende ermitteln
Hallo!
Melde mich schon wieder mit einer Frage:
Wie kann ich Worte in einem String zählen und das am meisten vorkommende einer Variablen zuweisen? Ich weiss, wie ich einzelne Worte extrahieren kann und ich kann auch die Anzahl der Worte ermitteln. Der String kann zB. enthalten:
Delphi-Quelltext
1:
| S := 'Montag Freitag Mittwoch Montag Donnerstag'; |
Hier soll also "Montag" gefunden werden. Ich habe folgenden Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Day := ''; B := 0; B1 := 0;
for I := 1 to WordCount(S) do begin if B1 = B then Day := GetWord(S,I); B1 := B; B := PosCount(GetWord(S,I), S, True); end; |
Das funktioniert aber dann nicht, wenn zwei aufeinander folgende Worte ident sind. Wie mache ich das richtig?
wulfskin - Fr 29.04.05 19:11
Hallo,
am besten du gehst die Zeichenkette durch und speicherst die einzelnen Wörte in einer Liste mit folgenden Records:
Delphi-Quelltext
1: 2: 3: 4: 5:
| PWordCount = ^TWordCount; TWordCount = record Word: String; Count: Integer; end; |
Nachher gehst du diese Liste einfach durch und merkst dir das am meisten vorkommende.
Gruß Hape!