AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

letzten buchstaben aus string entfernen

Ein Thema von any_key · begonnen am 10. Nov 2006 · letzter Beitrag vom 25. Feb 2021
Antwort Antwort
any_key

Registriert seit: 7. Okt 2005
96 Beiträge
 
Delphi 7 Personal
 
#1

letzten buchstaben aus string entfernen

  Alt 10. Nov 2006, 21:17
aloah
ich hab mal ne frage....
undzwar würde ich gerne wissen wie man aus einem string den letzten buchstaben entfernen kann
also z.b. wenn ich das so habe
text:= abcdef;
das ich daraus dann
text:= abcde;
aber halt unabhängig davon was der letzte buchstabe is
  Mit Zitat antworten Zitat
10. Nov 2006, 21:20
Dieses Thema wurde von "MrSpock" von "Multimedia" nach "Object-Pascal / Delphi-Language" verschoben.
Ist keine Multimediafrage.
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: letzten buchstaben aus string entfernen

  Alt 10. Nov 2006, 21:20
text := Copy(text, 1, length(text)-1);
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
any_key

Registriert seit: 7. Okt 2005
96 Beiträge
 
Delphi 7 Personal
 
#4

Re: letzten buchstaben aus string entfernen

  Alt 10. Nov 2006, 21:22
danke für die schnelle antwort
werds gleich mal ausprobieren
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#5

Re: letzten buchstaben aus string entfernen

  Alt 10. Nov 2006, 21:26
Moin any_key,

wie du dir vielleicht denken kannst wirst du nicht der erste mit solch einem Problem sein, deshalb lohnt sich das Benutzen der DP-Suchfunktion bei solchen Themen in den meisten Fällen.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: letzten buchstaben aus string entfernen

  Alt 10. Nov 2006, 21:30
text := Copy(text, 1, length(text)-1); ineffizient, besser so

 SetLength(Text, Length(Text) -1)); das vermeidet ein komplettes Kopieren und Neuallozieren des ganzen Strings -1 Zeichen im Speicher. Das ist nämlich der Fall bei Copy().

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#7

Re: letzten buchstaben aus string entfernen

  Alt 11. Nov 2006, 00:14
oder per delete:

Delete(Text, Length(Text) -1, 1));
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#8

AW: letzten buchstaben aus string entfernen

  Alt 25. Feb 2021, 15:06
Hallo,

ich hatte hier gerade die Antwort von "semo" gelesen. Ist es nicht so, dass bei Zeichenpositionen im String eine Reduzierung der Position um -1 nicht notwendig ist?
Nach meinem Kenntnistand beginnt der Zähler im String bei 1.

Delphi-Quellcode:

// Beispielsweise prüfen auf ein Komma als letztes Zeichen
// Copy wird hier verwendet, da das auch mit leeren Strings funktioniert und dann keine Fehlermeldung wirft.
if copy(MyString,length(MyString),1) = ',then
begin
// Löschen des letzten Zeichens.
  Delete(MyString, Length(MyString), 1);
end;
Beste Grüße
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!

Geändert von GoTo0815 (25. Feb 2021 um 15:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: letzten buchstaben aus string entfernen

  Alt 25. Feb 2021, 15:23
Ja, beginnt bei 1 (seit Kurzem auch wieder ÜBERALL, auch wenn man für Android/iOS kompiliert)
{$ZeroBasedStrings OFF} ist der DFAULT
Grund siehe ShortString -> auf Adresse 0 lag das Längen-Byte.

Also ohne -1, für das letzte Zeichen.
Delphi-Quellcode:
if EndsStr(',', MyString) then
  Delete(MyString, Length(MyString), 1);

  // außer für "bis vor das letzte Zeichen"
  MyString := LeftStr(MyString, Length(MyString)-1); // ebenfalls beim COPY

Copy
Delphi-Referenz durchsuchenLeftStr
RightStr
MidStr
Delete
Delphi-Referenz durchsuchenEndsStr
EndsText

oder StringHelper: (die zählen ab 0)
Substring
Remove
EndsWith
EndText
$2B or not $2B

Geändert von himitsu (25. Feb 2021 um 15:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 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