Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String auf bestimmtes Format prüfen (https://www.delphipraxis.net/29184-string-auf-bestimmtes-format-pruefen.html)

Helmi 5. Sep 2004 11:26


String auf bestimmtes Format prüfen
 
Hallo,

ich hab mal wieder eine Frage:

Wie kann ich einen String auf ein bestimmtes Format prüfen?

z. B. eine versions-Nr. 0.0.0.0


mfg
Helmi

mirage228 5. Sep 2004 11:31

Re: String auf bestimmtes Format prüfen
 
Hi,

das geht imho mit regulären Ausdrücken.

Hier im Forum suchenRegular Expressions

mfG
mirage228

Helmi 5. Sep 2004 11:35

Re: String auf bestimmtes Format prüfen
 
geht das auch ein wenig einfacher ohne dass man da ne neue componente braucht?

SirThornberry 5. Sep 2004 11:37

Re: String auf bestimmtes Format prüfen
 
du könntest mit pos etc. prüfen ob die Punkte drin sind und ob es alles zahlen sind etc.

MathiasSimmack 5. Sep 2004 11:37

Re: String auf bestimmtes Format prüfen
 
Reguläre Ausdrücke muten zwar anfangs etwas kompliziert an. Aber wenn man das System mal durchschaut hat, dann sind sie (so gut wie ;)) unschlagbar.

Helmi 5. Sep 2004 11:40

Re: String auf bestimmtes Format prüfen
 
mmmh

darf ich da um ein kleines Beispiel-Progrämmchen bitten???

das würd mir das verstehen dieser Dinger vereinfachen :-)

:angel:

MathiasSimmack 5. Sep 2004 11:52

Re: String auf bestimmtes Format prüfen
 
Die einfachste Variante für dein Problem:
Code:
\d.\d.\d.\d
"\d" bedeutet, es dürfen nur Zahlen sein (max. 4), durch Punkte voneinander getrennt. Etwas eleganter ist es, wenn du die minimale und maximale Anzahl festlegen willst. Sagen wir als Beispiel, dass die Versionsnummer "1.0.0.1234" gültig sein soll. Im Gegensatz dazu aber "12345.123233.11111.1" nicht. Dann könntest du bspw. sagen, es muss min. eine Zahl, max. jedoch 4 vorhanden sein:
Code:
\d{1,4}.\d{1,4}.\d{1,4}.\d{1,4}
Sieht vllt. unverständlich aus, funktioniert aber. ;)
Einen Blick in eine geeignete Doku (etwa die von PHP) wirst du aber nicht vermeiden können.


PS: Ich bin gerade nicht ganz sicher, aber evtl. muss man auch den Punkt "entschärfen" (escapen). :? Dann würde da noch ein Backslash vor jedem Punkt stehen. Wo ist die Doku? *kram* *such*

CalganX 5. Sep 2004 11:55

Re: String auf bestimmtes Format prüfen
 
Hi,
das einzige Problem ist, dass Delphi keine Funktion für reguläre Ausdrücke mitliefert. Dazu brauchst du Fremdkomponenten. Eine gute Komponenten findest du übrigens hier. ;)

Chris

MathiasSimmack 5. Sep 2004 11:57

Re: String auf bestimmtes Format prüfen
 
*hi hi* Mal aus dem Archiv gekramt: Eine JavaScript-Funktion zum Überprüfen, ob eine Email-Adresse angegeben wurde.
Code:
function isEmail(s) {
  return !(/^(\.|\-)(?=\w|\.|\-|\@)/.test(s)) &&
    (/^(\w|(\-|\.)(?=\w))*\@(?!\.|\-)(\w|\-(?=\w))*\.([A-Za-z]){2,}$/.test(s));
}
:mrgreen:


@Chakotay: Wurde das nicht schon gesagt, dass man eine Komponente benötigt? :gruebel:

CalganX 5. Sep 2004 12:01

Re: String auf bestimmtes Format prüfen
 
Hi,
@Mathias: :wall: Ist wohl noch zu früh, um in der DP zu surfen. :lol:

@Helimi:
Zitat:

Zitat von Helmi
geht das auch ein wenig einfacher ohne dass man da ne neue componente braucht?

Ich wage mal zu bezweifeln, dass du die Möglichkeit der regulären Ausdrücke mit Funktionen wie Delphi-Referenz durchsuchenPos so einfach hast. Mit regulären Ausdrücken wirst du ungefähr zwei Zeilen brauchen, um das Format zu überprüfen. Mit den String-Funktionen wirst du vielleicht auch eine Zeile hinbekommen, aber ob die dann noch übersichtlich aussieht? Naja, das wird sehr aufwändig.
Von daher ist die Methode mit einer neuen Komponente einfach genug. *g*

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.
Seite 1 von 2  1 2      

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