AGB  ·  Datenschutz  ·  Impressum  







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

Erste Zeichen eines Strings

Ein Thema von ~Freeze~ · begonnen am 21. Jan 2003 · letzter Beitrag vom 21. Jan 2003
Antwort Antwort
~Freeze~
(Gast)

n/a Beiträge
 
#1

Erste Zeichen eines Strings

  Alt 21. Jan 2003, 13:37
Hi zusammen ...

Meine Frage :
wie kann ich am einfachsten überprüfen ob das erste Zeichen eines Strings ein Buchstabe ist??

Danke für eure Hilfe!
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2
  Alt 21. Jan 2003, 13:41
Die Buchstaben erstrecken sich in der ASCII-Tabelle von Position 65 bis Position 122. Das erste Zeichen eines Strings s ist über s[1] erreichbar.
Folglich sieht der Code so aus:
if Byte(s[1]) in [65..122] then /...
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Helld_River

Registriert seit: 2. Jan 2003
Ort: Hürth
136 Beiträge
 
Delphi 2010 Professional
 
#3
  Alt 21. Jan 2003, 13:42
Hi !
var str: string;

...

if (ANSIUPPERCASE(str[1])>='a') and (ANSIUPPERCASE(str[1])<='z') then ...

dass war's schon !!

Gruß, Helld
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#4
  Alt 21. Jan 2003, 13:53
Hallo Helldriver,

wenn Du schon die Funktion 'AnsiUpperCase' benutzt, müsstest Du dann nicht gegen Grossbuchstaben vergleichen?
Und was ist mit Umlauten? Die werden zwar von AnsiUpperCase korrekt verarbeitet, werden aber vom Vergleich nicht erkannt...
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Helld_River

Registriert seit: 2. Jan 2003
Ort: Hürth
136 Beiträge
 
Delphi 2010 Professional
 
#5
  Alt 21. Jan 2003, 13:57
Oh, stimmt, mein Fehler !!!

Die Routine von Chewie ist sowieso besser ! Die gleicht alles ab.

Gruß, Helld
  Mit Zitat antworten Zitat
~Freeze~
(Gast)

n/a Beiträge
 
#6
  Alt 21. Jan 2003, 13:58
Thx @ Chewie!

Es funktioniert!
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7
  Alt 21. Jan 2003, 16:35
kleiner Tip, wer die ASCII-Tabelle nicht mag schreibt einfach

If S[1] in ['a'..'Z'] then ... Gruß Oki
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 21. Jan 2003, 16:51
Zitat von Chewie:
Die Buchstaben erstrecken sich in der ASCII-Tabelle von Position 65 bis Position 122. Das erste Zeichen eines Strings s ist über s[1] erreichbar.
Folglich sieht der Code so aus:
if Byte(s[1]) in [65..122] then /...
Was ist mit den Zeichen 91 bis 96? das sind keine Buchstaben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#9
  Alt 21. Jan 2003, 17:36
Zitat von Luckie:
Was ist mit den Zeichen 91 bis 96? das sind keine Buchstaben.
Stimmt. Ich habe die Tabelle nur flüchtig angesehen und dachte, zwischendrin wäre nichts.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#10
  Alt 21. Jan 2003, 17:40
Was ein Problem:

... in [65..90, 97..122]... Jetzt nicht wieder meckern von wegen: Muss aber 91 sein, und so. ICh hab jetzt nicht nachgeschaut, ob das erste falsche oder das letzte richtige angegeben wurde.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  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 04:57 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