AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi string letztes zeichen überprügen und ggf. löschen
Thema durchsuchen
Ansicht
Themen-Optionen

string letztes zeichen überprügen und ggf. löschen

Ein Thema von gandime · begonnen am 22. Jul 2006 · letzter Beitrag vom 22. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
gandime
(Gast)

n/a Beiträge
 
#1

string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 02:23
hi,
ich möchte von einem string das letzte zeichen überprüfen ob es ein '\' ist und wenn ja dann soll es weggenommen werden
wie bekomme ich das hin?

mfg gandime
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#2

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 02:55
Schon mal die Hilfe bemueht? Google Bemueht? Etwas auf english gedacht? Dann waere da wohl Delete rausgekommen.

Hier wie du es machen koenntest... Aber erstmal selbst gucken in der Hilfe mit F1 Delphi-Referenz durchsuchenDelete fuer die Function zum loeschen und zum gucken ob das letzte Zeiche nein "\" ist kannst du function Delphi-Referenz durchsuchenAnsiLastChar nutzen.

Und hier noch ein Beispiel weils so schoen war...

Delphi-Quellcode:
var
  S : String;
begin
  S := Edit1.Text;
  if AnsiLastChar(S)^ = '\then
    Delete(S, Length(S), 1);
  ShowMessage(S);
end;
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 03:31
Moin Mackhack,

wenn s leer ist bekommst Du so aber eine AV.

Andere, von Deiner abgeleitete Variante:
  while (AnsiLastChar(s) <> nil) and (AnsiLastChar(s)^ = '\') do SetLength(s,length(s)-1); Dann gibt es noch die Delphifunktion ExcludeTrailingPathDelimiter, die für meinen Geschmack nur den Nachteil hat, dass sie bei mehreren aufeinanderfolgenden \ nur den letzten wegnimmt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#4

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 08:18
danke, funzt prima

mal zu den bemerkungen:

Zitat:
Schon mal die Hilfe bemueht?
ja habe ich und da is auch delete rausgekommen aber mir fehlte halt "AnsiLastChar"

Zitat:
Google Bemueht?
ja, aber nur kurz weil ich auch iwann schlafen wollte. --> dort bin ich nicht so schnell auf etwas gutes gestoßen
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 08:19
Sollte Probleme geben wenn der String '' ist.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 08:55
Zitat von 3_of_8:
Sollte Probleme geben wenn der String '' ist.

Zitat von Christian Seehase:
Moin Mackhack,

wenn s leer ist bekommst Du so aber eine AV.

Andere, von Deiner abgeleitete Variante:
  while (AnsiLastChar(s) <> nil) and ...
Was für Probleme denn?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 09:08
Ah, stimmt, muss wohl genauer hinschauen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#8

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 09:25
Hallo,

wenn es wirklich nur um das Zeichen "\" geht, dann ist Delphi-Referenz durchsuchenExcludeTrailingPathDelimiter aus SysUtils genau die richtiger Routine.
Zumindest, solange der PathDelimiter ein "\" ist.

Gruß
xaromz
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 12:50
Moin xaromz,

Zitat von Christian Seehase:
Dann gibt es noch die Delphifunktion ExcludeTrailingPathDelimiter, die für meinen Geschmack nur den Nachteil hat, dass sie bei mehreren aufeinanderfolgenden \ nur den letzten wegnimmt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: string letztes zeichen überprügen und ggf. löschen

  Alt 22. Jul 2006, 13:00
Zitat von Christian Seehase:
Andere, von Deiner abgeleitete Variante:
  while (AnsiLastChar(s) <> nil) and (AnsiLastChar(s)^ = '\') do SetLength(s,length(s)-1);
Code:
while [color=#ff0000](s <> '')[/color] and (AnsiLastChar(s)^ = '\') do SetLength(s,length(s)-1);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:07 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