Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String in Set of Char umwandeln ? (https://www.delphipraxis.net/73383-string-set-char-umwandeln.html)

Martin K 17. Jul 2006 12:47


String in Set of Char umwandeln ?
 
Moin,

ich habe einen Char und will überprüfen, ob dieser in einem String vorkommt oder nicht.
Natürlich könnte man in einer For-Schleife den String durchlaufen und mit if überprüfen...

Ich suche aber die einfachste Möglichkeit, etwa so:
Delphi-Quellcode:
var
  s: string;
  c: char;

{...}

  s := 'Hallo';

  if c in ['H', 'a', 'l', 'o'] then
  //...
Nur habe ich keine Ahnung, wie ich den String so umwandeln kann bzw. ob das überhaupt möglich ist.
Wenn's dafür eine ganz einfache Möglichkeit gibt (einfacher als For-Schleife) bitte sofort posten...

sakura 17. Jul 2006 12:49

Re: String in Set of Char umwandeln ?
 
Zitat:

Zitat von Martin K
ich habe einen Char und will überprüfen, ob dieser in einem String vorkommt oder nicht.

Nutze die Funktion Delphi-Referenz durchsuchenPos ;)

Zitat:

Zitat von Martin K
Wenn's dafür eine ganz einfache Möglichkeit gibt (einfacher als For-Schleife) bitte sofort posten...

Nein, eine Schleife, ob for, repeat oder while, die wirst Du schon brauchen.

...:cat:...

Neon-chan 17. Jul 2006 12:51

Re: String in Set of Char umwandeln ?
 
Pos ist doch einfacher als die Schleife (auch wenn Pos intern wohl auch nix anderes macht als den String durchlaufen^^)

Martin K 17. Jul 2006 12:56

Re: String in Set of Char umwandeln ?
 
Ah, ja... Pos natürlich. :wall:
Ich habe allerdings noch mehrere Chars, die allerdings schon feststehen nur die des Strings sollen noch dazu kommen.

Etwa so:

Delphi-Quellcode:
if (c in ['0'..'9']) or (Pos(c,s) > 0) then
Ja, das wäre dann wohl die Lösung, da brauche ich auch keine For-Schleife.
Dachte nur irgendwie, ich könnte die einzelnen Zeichen des Strings an das Set of Char im ersten Teil der if-Abfrage dranhängen...
Aber das scheint dann wohl so einfacher zu sein...

//Edit:
Danke für eure Antworten!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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