Entwickler-Ecke
Sonstiges (Delphi) - String prüfen?
hansg - Mi 22.01.03 19:03
Titel: String prüfen?
Hallo,
ich möchte einen String (wird aus einem edit erzeugt) prüfen ob dieser Zahlen (0-9) oder sonstige Zeichen enthällt.
Wer hat einen Tip?
Gruß Hans
smiegel - Mi 22.01.03 19:17
Hallo,
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var i:Integer; s:String; ... s:='TextmitZahlen012336undSonderzeichen#$%'; for i:=1 to Length(s) do begin case s[i] of '0'..'9': ShowMessage('Zahl'); 'A'..'Z', 'a'..'z', 'ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß': ShowMessage('Buchstaben'); else ShowMessage('Sonderzeichen'); end; // case end; // for i |
hansg - Do 23.01.03 20:08
Hallo,
danke für die Antwort.
Leider komme ich damit nicht weit, ich möchte folgendes erreichen:
String prüfen, das Ergebnis in einer Variable anzeigen.
enthällt eine Zahl dann Variable =1
enthällt eine Buchstaben dann Variable =2
enthällt ein Sonderzeichen dann Variable =3
Gruß Hans
Delete - Do 23.01.03 20:10
Du mußt doch nur die ShoMessages durch deinen Code ersetzen. :roll:
hansg - Do 23.01.03 21:15
Hallo,
geht leider so nicht.
Durch die Schleife bekomme ich am Ende immern nur den Zustand des
letzten Zeichen mitgeteilt.
Ich möchte aber nur wissen ob sich eine Zahl, ein Buchstabe oder ein Sonderzeichen im String befindet.
Gruß Hans
smiegel - Do 23.01.03 21:23
Hallo,
ich verstehe leider nicht so was Du genau willst. :?
Wie lang ist der Text den du durchssuchst? Was machst Du, wenn Zahlen und Text gemischt sind?
Brueggendiek - Do 23.01.03 21:34
Hallo Hans!
Da offensichtlich mehrere der Typen gleichzeitig im String vorkommen können, mußt Du ein Set verwenden!
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| type tStringinhalt = set of (stBuchstabe, stZiffer, stSonder); var Stringinhalt: tStringinhalt; i:Integer; s:String; ... s:='TextmitZahlen012336undSonderzeichen#$%'; Stringinhalt := []; for i:=1 to Length(s) do begin case s[i] of '0'..'9': Stringinhalt := stringinhalt + [stZiffer]; 'A'..'Z', 'a'..'z', 'ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß': Stringinhalt := stringinhalt + [stBuchstabe]; else Stringinhalt := stringinhalt + [stSonder]; end; // case end; // for i
if stBuchstabe in Stringinhalt then ShowMessage('Buchstabe enthalten');
if stZiffer in Stringinhalt then ShowMessage('Ziffer enthalten');
if stSonder in Stringinhalt then ShowMessage('Sonderzeichen enthalten'); |
So klappt das!
Gruß
Dietmar Brüggendiek
hansg - Do 23.01.03 22:04
Hallo Brueggendiek,
danke für den Code genau das :D :P :P :D habe ich gesucht.
Danke Hans
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!