Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ein Zeichen aus einem String extrahieren...? (https://www.delphipraxis.net/70915-ein-zeichen-aus-einem-string-extrahieren.html)

ReiniXXL 6. Jun 2006 18:46


Ein Zeichen aus einem String extrahieren...?
 
Hallo,

wie kann ich aus einem string ein einzelnes Zeichen heraus holen?

Bei mehreren Zeichen benutze ich copy(string,[anfang],[ende]) aber man kann damit kein einzelnes Zeichen in der Mitte eines Strings extrahieren, oder doch?
( copy(string,[anfang]) geht nicht ;) )

Danke

mkinzler 6. Jun 2006 18:49

Re: Ein Zeichen aus einem String extrahieren...?
 
Delphi-Quellcode:
 c := s[<Position>];

_frank_ 6. Jun 2006 18:59

Re: Ein Zeichen aus einem String extrahieren...?
 
aber sicher doch...(wenn du es nicht als datentyp char brauchst, wenn doch dann s[position])
copy(s,zeichennummer,1); //der dritte parameter is die länge

Gruß Frank

Zacherl 6. Jun 2006 19:46

Re: Ein Zeichen aus einem String extrahieren...?
 
So wäre beispielsweise das 3. Zeichen des Strings "s" ein "e".
Delphi-Quellcode:
s := 'Dies ist ein Test';
Caption := Copy(s, 3, 1);
Delphi-Quellcode:
s := 'Dies ist ein Test';
Caption := s[3];
Florian

jfheins 6. Jun 2006 20:19

Re: Ein Zeichen aus einem String extrahieren...?
 
Der Unterschied ist eigentlich nur, dass Copy einen String zurückgibt, aber keine AV kommt, falls der String zu kurz ist ;)

ReiniXXL 7. Jun 2006 07:05

Re: Ein Zeichen aus einem String extrahieren...?
 
Danke!!!

Ich werde einfach copy benutzen, kann ja den String auf seine Länge hin prüfen mit length(s)

uwewo 7. Jun 2006 08:14

Re: Ein Zeichen aus einem String extrahieren...?
 
Hallo,

dafür gibt es doch einen Befehl in Delphi siehe Hilfe.

Delphi-Quellcode:
procedure Delete(var S: string; Index, Count:Integer);
Beschreibung

Delete entfernt, beginnend mit S[Index], Count Zeichen aus dem String S. S ist eine String-Variable. Index und Count sind Integer-Ausdrücke.

Ist der Wert von Index größer als die Länge von S, werden keine Zeichen gelöscht. Werden mit Count mehr Zeichen angegeben, als beginnend bei S[Index] im String vorhanden sind, wird der Rest des Strings gelöscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz