Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#9

Re: strings um ein bestimmtes zeichen vermindern

  Alt 9. Jan 2009, 14:10
Hallo,

Du möchtest für die Leerzeichen so 'ner Art Lauflängenkodierung.
Dashier ist mal eben so schnell dahingedaddelt und sicherlich nicht fehlerfrei, aber vielleicht hilfts ja schon mal:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
          i : Integer;
          k : Integer;
          s : String;
          ch : Char;
          sIn : String;
begin
  sIn := 'Was steht denn hier jetzt an Leerzeichen?';
  i := 0;
  k := -1;
  s := '';
  for i := 1 to Length(sIn) do begin
    ch := sIn[i];
    case ch of
      ' ' : case k Of
             -1 : begin
                    s := s + ch;
                    Inc(k);
                  end;
            else
              inc(k);
            end;
    else
      case k of
        -1 : k := 0;
         0 : k := 0;
         1 : Begin
               s := s + ' ';
               k := 0;
             end;
      else
        s := s + ' ' + IntToStr(k);
        k := -1;
      end;
      s := s + ch;
    end;
  end;
  ShowMessage(sIn + #13 + s);
end;
Wenn es sich bei Deiner Datei um eine Textdatei handelt, könntest Du sie in eine Stringliste lesen und anstelle von sIn das Text-Attribut der Stringliste benutzen oder die Stringliste zeilenweise durchgehen oder auch die Textdatei zeilenweise lesen.

Und Klaus war schneller

edit: Schreibfehler korrigiert
  Mit Zitat antworten Zitat