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
Benutzerbild von semo
semo

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

Re: letzten buchstaben aus string entfernen

  Alt 10. Nov 2006, 23: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
 
#2

AW: letzten buchstaben aus string entfernen

  Alt 25. Feb 2021, 14: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 14:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: letzten buchstaben aus string entfernen

  Alt 25. Feb 2021, 14: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
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (25. Feb 2021 um 14: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 21:14 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-2025 by Thomas Breitkreuz