Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: führende null entfernen

  Alt 1. Aug 2018, 16:42
Das ist ja das schöne bei Delphi, jeder kann seine persönliche Note einbringen
Müssen viele LeadChars entfernt werden ist mein Vorschlag bestimmt nen takken schneller ^_^

Mini Upgrade vs Leerstrings
Delphi-Quellcode:
function RemLeadChar(const Input: string; const LeadChar: Char): string;
var
  i, ii: Integer;
begin
  ii := 0;
  if Length(Input) > 0 then // ein zeichen minimum um weiter zu kommen
   if Input[1] = LeadChar then // fängt String nicht mit LeadChar an gibts nichts zu tun
    for i := 1 to Length(Input) do // komplette stringlänge abarbeiten initialisieren
      if Input[i] = LeadChar then ii := i else Break; // kommt vorne ein LeadChar vor Position merken
  if ii > 0 then Result := Copy(Input, ii+1, Length(Input)) // entweder anfang verwerfen
   else Result := Input; // oder eingabe zurück
  if Result = 'then Result := LeadChar; // falls input leer oder nur aus LeadChars bestand, gib wenigstens ein LeadChar zurück
end;
und noch ein Vorschlag zu dem While Delete
Delphi-Quellcode:
function RemDelLeadChar(const Input: string; const LeadChar: Char): string;
var
  i: Integer;
begin
  i := 1;
  Result := Input;
  if ((Length(Input) > 0) and (Input[1] = LeadChar)) then
  begin
    while (Input[i] = LeadChar) do inc(i);
    Delete(Result, 1, i-1);
  end;
  if Result = 'then Result := LeadChar;
end;
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 1. Aug 2018 um 17:20 Uhr)
  Mit Zitat antworten Zitat