Verweis: | Pos PosEx WordPosition WordCount |
Uses: | StrUtils |
Eingabe: | PositionSuch(Integer),Satz(String),Zeichen(SetOfChar) |
Ausgabe: | EinzelWort(String) |
Funktion: | Sucht in einem String nach dem x-ten Wort welches im Set vorgegeben wurde. |
Beispiel 1
Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie einen TButton auf die Form. Binden Sie die Unit StrUtils mit der Uses-Klausel in die Anwendung ein. Doppelklicken sie auf den Button und ersetzen Sie das Ereignis durch folgenden Quelltext:
procedure TForm1.Button1Click(Sender: TObject);
var
Satz, EinzelWort: string;
Wort: integer;
begin
// Bestücken der Vaiablen
Satz := 'Es gibt gute und schlechte Tage.';
//Welches wort?
Wort := 3;
//Isoliere das einzelne Wort
EinzelWort := ExtractWord(Wort, Satz, [' ']);
// Gib beide aus
ShowMessage('Aus dem Satz: ' + Satz + LineEnding +
'Habe ich das ' + IntToStr(Wort) +
'.Wort isoliert. Es heißt: ' + EinzelWort);
end;
Die Funktion ExtractWord, isoliert ein Wort aus einem Satz. Die Grenzen des Wortes werden von den einzelnen Zeichen die in Klammern angegeben worden bestimmt. Hierbei handelt es sich um einzelne Zeichen die angegeben werden können.

Die Umlaute gehören hier leider nicht dazu. Jedoch wird in der Praxis wohl kaum, für eine Wortbegrenzung ein Umlaut benutzt. Da hier kein Zahlenwert, sondern das Isolierte Wort zurück gegeben wird, können wir bei diesem Befehl auch Umlaute einsetzen. Sollte das übergebene Zeichen nicht dabei sein, so gibt die Funktion einen leeren String zurück. Sollte das Zeichen nicht so oft dabei sein wie angegeben. hier in dem Beispiel 8 für das Wort. So wird ebenfalls ein leerer String zurück gegeben.
Es kann auch StdWordDelims eingesetzt werden
Des weiteren können Sie auch hier die vordefinierte Konstante StdWordDelims benutzen. Dies eine Konstante die sich in der Unit StrUtils befindet. Wie sie diese Konstante verwenden können hatte ich bereits schon bei WordCount erwähnt.Bitte schauen sie dort nach.