Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Leerzeichen aus string löschen (https://www.delphipraxis.net/65089-leerzeichen-aus-string-loeschen.html)

maximus Caesar 12. Mär 2006 11:05


Leerzeichen aus string löschen
 
Hallo!
Ich habe einen String a mit mehreren Leerzeichen am Anfang. Diese möchte ich komplett löschen.
ICh dachte das kann man so machen:
Delphi-Quellcode:
repeat
  delete(a,0,1);
until a[1]<>' ';
aber ich bekomme immer eine fehlermeldung und die letzte zeile wird markiert.
Wo ist der Fehler?

Luckie 12. Mär 2006 11:09

Re: Leerzeichen aus string löschen
 
Guck mal in der Hiulfe unter [oh]trim(left/right)[/oh].

maximus Caesar 12. Mär 2006 11:11

Re: Leerzeichen aus string löschen
 
Danke!

Valle 12. Mär 2006 11:12

Re: Leerzeichen aus string löschen
 
Merkwürdig,
in der Hiulfe habe ich nichts gefunden
und ein Fehler zeigt er mir auch nicht, er hängt sich nur auf...

* er = mein PC

3_of_8 12. Mär 2006 11:15

Re: Leerzeichen aus string löschen
 
Also am Code würde ich mal folgendes ändern:

Delphi-Quellcode:
while a[1]=' ' do delete(a,0,1);

[edit=SirThornberry]Delphitags berichtigt. Mfg, SirThornberry[/edit]

mkinzler 12. Mär 2006 11:16

Re: Leerzeichen aus string löschen
 
Trim entfernt Leerzeichen am Anfang und am /ende eines Strings. Soll nur am Anfang oder nur am Ende entfernt werden verwendet man die Funktioenne TrimLeft bzw. TrimRight

Zitat:

Zitat von Delphi-Hilfe
Trim Routine

Entfernt alle am Anfang und Ende eines Strings vorhandenen Leer- und Steuerzeichen.

Unit
SysUtils

Syntax


[Delphi] function Trim(const S: string): string; overload;



[Delphi] function Trim(const S: WideString): WideString; overload;


Beschreibung
Trim entfernt alle am Anfang und Ende des mit S angegebenen Strings vorhandenen Leer- und Steuerzeichen.


Zacherl 12. Mär 2006 11:17

Re: Leerzeichen aus string löschen
 
Trim ist die beste Lösung, aber so sollte auch die Andere funktionieren:

Delphi-Quellcode:
repeat
  Delete(a, 1, 1);
until Copy(a, 1, 1) <> ' ';
Florian

SirThornberry 12. Mär 2006 11:19

Re: Leerzeichen aus string löschen
 
trim würde ich aus performancegründen vorziehen.

3_of_8 12. Mär 2006 11:20

Re: Leerzeichen aus string löschen
 
Das mit a[1] dürfte eleganter sein als copy. Und das repeat würde ich durch ein while ersetzen.

Denn mal angenommen, am Anfang des Strings befindet sich kein Leerzeichen, dann würde trotzdem das erste Zeichen gelöscht werden. Besser noch: Folgender String: 'a b'

Bei deinem Code würde nur 'b' übrig bleiben.

SirThornberry 12. Mär 2006 11:23

Re: Leerzeichen aus string löschen
 
ich würde mit einer For-Schleife von Anfang bis ende durchgehen und eine zweite zählvariable mitführen die bestimmt wohin geschrieben wird. Kommt ein Leerzeichen so wird diese nicht weitergerückt. Da aber Trim wohl nix anderes macht erspaare ich mir mal den Quelltext zz posten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.
Seite 1 von 3  1 23      

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-2025 by Thomas Breitkreuz