Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zeichen in string löschen (https://www.delphipraxis.net/63904-zeichen-string-loeschen.html)

Loki77 24. Feb 2006 10:14


Zeichen in string löschen
 
Hallo!
Nur mal ´ne kleine Syntatxfrage!
"Fülle" zur Laufzeit einen string
mit Zeichen und möchte gerne
1. Wissen wieviele Zeiche enthalten sind,
2. wie kann ich ein Zeichen (in diesem Fall das letzte übergebene) löschen?

Danke!

Pseudemys Nelsoni 24. Feb 2006 10:19

Re: Zeichen in string löschen
 
1.

Delphi-Quellcode:
function Count(const S: string; C: Char): Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(S) do
    if S[I] = C then
      Inc(Result);
end;
2.

Delphi-Quellcode:
while Pos(C, S) > 0 do
  Delete(S, Pos(C, S), 1);

sh17 24. Feb 2006 10:20

Re: Zeichen in string löschen
 
Zitat:

Zitat von Loki77
Hallo!
1. Wissen wieviele Zeiche enthalten sind,

Length(myString)

Zitat:

Zitat von Loki77
Hallo!
2. wie kann ich ein Zeichen (in diesem Fall das letzte übergebene) löschen?

Werden die Zeichen nur ans Ende angefügt oder auch mittendrin?

sh17 24. Feb 2006 10:21

Re: Zeichen in string löschen
 
Quark, hab nicht richtig gelesen, Du wolltest ja die Anzahl der ZEICHEN

Zitat:

Zitat von Loki77
Hallo!
1. Wissen wieviele Zeiche enthalten sind,
2. wie kann ich ein Zeichen (in diesem Fall das letzte übergebene) löschen?


chaosben 24. Feb 2006 10:22

Re: Zeichen in string löschen
 
Zitat:

Zitat von Borland
Delete
Die Prozedur entfernt einen Teilstring aus einem String.

Unit
System

Kategorie
String-Verarbeitung

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

Beschreibung
In Delphi entfernt Delete, beginnend mit S[Index], Count Zeichen aus dem String S. S ist eine String-Variable. Index und Count sind Integer-Ausdrücke.
Wenn index größer als die Länge von String oder kleiner als 1 ist, werden keine Zeichen gelöscht.
Werden mit Count mehr Zeichen angegeben, als beginnend bei Index im String vorhanden sind, wird der Rest des Strings gelöscht. Wenn Count kleiner oder gleich 0 ist, werden keine Zeichen gelöscht.

Length
Die Funktion gibt die Anzahl der Zeichen eines Strings oder der Elemente eines Array zurück.

Unit
System

Kategorie
String-Verarbeitung

Delphi-Syntax:
function Length(S): Integer;

Beschreibung
In Delphi gibt Length die Anzahl der im angegebenen String vorhandenen Zeichen oder die Anzahl der Elemente im Array zurück. Verwenden Sie in C++ die gleichnamige Methode in der Klasse AnsiString oder DynamicArray.
Bei Einzelbyte- und Multibyte-Strings gibt Length die Anzahl der Bytes in der Zeichenfolge zurück. Bei Unicode-Strings (WideString) gibt sie die Byte-Anzahl geteilt durch zwei zurück.
S ist ein String oder ein Array.


Loki77 24. Feb 2006 10:30

Re: Zeichen in string löschen
 
Hätte mich etwas genauer ausdrücken sollen,
Ich kenne die Position (letztes zeichen) UND weiss
dass es ein Komma(,) ist!
Will´s nur löschen.

Pseudemys Nelsoni 24. Feb 2006 10:49

Re: Zeichen in string löschen
 
entweder:

Delphi-Quellcode:
S := Copy(S, 1, Length(S)-1);
oder

Delphi-Quellcode:
Delete(S, Length(S), 1);
Such Dir eins aus.

Loki77 24. Feb 2006 11:13

Re: Zeichen in string löschen
 
Zitat:

Zitat von Pseudemys Nelsoni
entweder:

Delphi-Quellcode:
Delete(S, Length(S), 1);
Such Dir eins aus.

Klappt!Danke.
Loki

marabu 24. Feb 2006 11:19

Re: Zeichen in string löschen
 
Eine weitere Möglichkeit zum Abschneiden von n Zeichen am Ende eines Strings ist diese:

Delphi-Quellcode:
SetLength(s, Length(s) - n);
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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