wie kann man NUR "Return"s(oder "Tab"s) in einer String erkennen bzw. ersetzen (z.B. durch "
")?
wie kann man NUR "Return"s(oder "Tab"s) in einer String
erkennen bzw. ersetzen (z.B. durch "
")?
Hallo, z.B.
if mystring[i] = chr(13) then
begin
delete (mystring,i,1);
insert ('
',mystring,i);
end;
Gruss Reinhard
Hallo Sun
Zuerst: Returns ist der Plural des englischen Return. Return’s wäre ein sinnloser Genitiv.
Wenn dein Text nicht nur „returns“ (=cr = Wagenrücklauf), sondern - wie meist bei Text-files - auch „line feeds“ (=lf = Zeilenschaltung) enthält, musst du die Sache ungefähr so machen:
while pos(Chr(13),s)+pos(chr(10),s) > 0 do // also hat es welche
begin
platz:=pos(CHR(13),s); // wird = null, wenn es keine CR mehr hat
if platz >0 then
begin
delete(s,platz,1);
insert(’’,s,platz);
end;
platz:=pos(CHR(10),s); // Null, wenn keine LF mehr
if platz >0 then
begin
delete(s,platz,1);
insert(’’,s,platz);
end;
end;
Man könnte das noch beliebig „weiterspinnen“, aber vielleicht hilft das ja schon.
Viel Erfolg wünscht Erich
Hallo,
sofern du Delphi verwendest und es bei dir schon die Unit „StrUtils“ gibt (ab Delphi 5??), geht das folgendermaßen:
du bindest die Unit StrUtils im Uses-Teil ein.
Dann der Code:
AnsiReplaceText(Zeile, #13#10, '
'); //ersetzt cr-lf falls gewünscht
AnsiReplaceText(Zeile, #13, '
'); //ersetzt einzelnes cr
Gruß, Niels
Hallo Niels
Ich arbeite mit DELPHI5 und da ist die schöne Funktion leider nicht enthalten!
(Deshalb behelfe ich mit mit einer „handgestrickten“ Version).
Gruss
Erich