Usuwanie enterów z tekstu

0

Witam.

Jak usunąć wszystkie znaki enter ze stringa ?

Pozdrawiam.

0

Można tak:

var s,s1: string;
i: integer;
begin
  s:='abc'+#13+'def';
  for i:= 1 to length(s) do
    if s[i]<>#13 then s1:=s1+s[i];
  s:=s1;
end;

albo tak:

var s: string;
i: integer;
znaleziono: boolean;
begin
  s:='abc'+#13+'def'+#13+'efg';
  repeat
    znaleziono:=true;
    i:=Pos(#13,s);
    if i<>0 then
      begin
        delete(s,i,1);
        znaleziono:=false;
      end;
  until znaleziono;
end;

przy dłuższych łańcuchach, musisz je jakoś podzielić, bo może wyskoczyć błąd.

0

Możesz też wczytać stringa do TMemo a potem odzytać i wstawiać każdą linię, choć to bardziej skomplikowane to powinno być szybciej bo nie przeszukujesz całego stringa litera po literze tylko zapisujesz i odzytujesz całe wiersze. :P

0

A nie lepiej

while Pos(' ', S) <> 0 do Delete(S, Pos(' ', S), 1);

Gdzie S to Twój string ?

0
StringReplace(s, #13+#10, '', [rfReplaceAll, rfIgnoreCase]);
0

mam podobny problem.
Tyle ze jak uzwam
StringReplace(s, #13+#10, '', [rfReplaceAll, rfIgnoreCase]);
to w tych miejscach zamiast enterow robia sie takie prostokaciki. Co yrobi bz zamiast ich po prostu nic nie bylo

0
Fazzer napisał(a)

mam podobny problem.
Tyle ze jak uzwam
StringReplace(s, #13+#10, '', [rfReplaceAll, rfIgnoreCase]);
to w tych miejscach zamiast enterow robia sie takie prostokaciki. Co yrobi bz zamiast ich po prostu nic nie bylo

Jakie prostokąciki? Tzn. jaki to jest znak ASCII?(podaj kod)

Poza tym w momencie pozbywania się enterów flaga rfIgnoreCase jest niepotrzebna ;)

Jeśli z jakiegoś powodu za Enter zamiast pustego łańcucha daje Ci jakiś znak, to możesz to zrobić bardziej psychodelicznie, np:

s:=StringReplace(s, #13+#10, '<enter>', [rfReplaceAll]);
s:=stringReplace(s, '<enter>', '', [rfReplaceAll]);

:D

0

Dzięki już wszystko działa, ale nie musiałem robić

s:=StringReplace(s, #13+#10, '<enter>', [rfReplaceAll]);
s:=stringReplace(s, '<enter>', '', [rfReplaceAll]);

dzięki za rady

1 użytkowników online, w tym zalogowanych: 0, gości: 1