Thema: Delphi Worte im Text ersetzen

Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#3

AW: Worte im Text ersetzen

  Alt 25. Sep 2012, 17:00
Also Seki, ich hab zwar nicht in allen Einzelheiten dein Problem verstanden, aber hier ein Beispiel wie man einen Text in Wörter zerlegen kann.

Delphi-Quellcode:
procedure StringZerlegen(Str: String; List: TStrings);
const
  abc = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ßäÄöÖüÜ';
var
  OldDelimiter: Char;
  i, k: Integer;
  s: String;
begin
  //Zerlegt Satz in Wörter
  OldDelimiter := List.Delimiter;
  List.Delimiter := ' '; //Leerzeichen
  List.DelimitedText := Str;
  List.Delimiter := OldDelimiter;

  //Entfernt alles was nicht Buchstabe oder Zehl ist
  for i := 0 to List.Count - 1 do
  begin
    s := List[i];
    for k := Length(s) downto 1 do
      if Pos(s[k], abc) = 0 then
        Delete(s, k, 1);
    List[i] := s;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Str: String;
begin
  Str := 'Hallo, ich bin Dieter.'; //Satz mit Satzzeichen
  StringZerlegen(Str, ListBox1.Items);
end;
Der Satz landet in einer TStringList (oder hier für das Beispiel eine ListBox).

Vielleicht hilft dir das bereits.
  Mit Zitat antworten Zitat