![]() |
AW: führende null entfernen
Zitat:
Gruß K-H |
AW: führende null entfernen
Zitat:
|
AW: führende null entfernen
Zitat:
Zitat:
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 // den check kann man sich sparen // if Input[1] = LeadChar then // fängt String nicht mit LeadChar an gibts nichts zu tun // den check kann man sich sparen 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; |
AW: führende null entfernen
Auf dem Tablet direkt im Editor getippt, daher komplett aus dem Kopf:
Delphi-Quellcode:
function StrippedLeft(const Input: String; const Leading: Char): String;
var i, idx: integer; begin idx := 0; for i := 1 to Length(Input) do if Input[i] <> Leading then begin idx := i; Break; end; if idx > 0 then Result := Copy(Input, idx) else Result := ´´; end; |
AW: führende null entfernen
Zitat:
|
AW: führende null entfernen
Was spricht eigentlich gg. das offizielle TrimLeft (siehe dem akzeptierten Vorschlag von SProske ) ?
|
AW: führende null entfernen
Gar nichts, aber die nötige Überladung ist ja AFAIK erst mit dem StringHelper eingeführt worden, ältere Delphi-Versionen dürften das noch nicht kennen.
|
AW: führende null entfernen
Da mir nach meinem ersten Kaffee danach war:
Delphi-Quellcode:
Vorteil:
function DelLeadStr(LeadStr : String; InpStr : String) : String;
var vLeadStr : String; begin vLeadStr := LeadStr; while Pos(vLeadStr, InpStr) = 1 do begin vLeadStr := vLeadStr + LeadStr; end; Delete(InpStr, 1, Length(vLeadStr) - Length(LeadStr)); Result := InpStr; end; - Kein Zugriff per Index auf den String --> Damit leicht umstellbar auf WideString (oder kann man da auch über den Index zugreifen?) - Keine Längenprüfung erforderlich - Auch führende Strings (also nicht nur ein Zeichen) können behandelt werden Nachteil: - Vermutlich etwas langsamer |
AW: führende null entfernen
Man kann auch bei WideStrings ganz normal ohne Probleme über den Index zugreifen.
|
AW: führende null entfernen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz