• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

string auf gültigkeit prüfen

SpecialFighter

James Grieve
Registriert
25.04.12
Beiträge
132
guten morgen zusammen,

ich habe eine variable in dem in datum als string gespeichert ist:

Code:
var datum = "05.03.2015"

wie kann ich mit swift 2 überprüfen, ob datum immer dieses Format hat und immer nur zahlen hat incl. 2x "." ?:

00.00.0000


habe die Lösung:

Code:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"
let date = dateFormatter.dateFromString("05.03.2015")

if date != nil  { 
print("DATUM OK")
} else {
print("DATUM NICHT OK")
}
 
Zuletzt bearbeitet:
  • Like
Reaktionen: janbrinkman
Nur als Alternative. Es ginge auch mit Regular Expressions:

Code:
import Foundation

let foundDate = "05.03.2015"

let myRegexp = "\\d{2}\\.\\d{2}.\\d{2}"


if (foundDate.rangeOfString(myRegexp, options: .RegularExpressionSearch) != nil) {

    print("that's it")

} else {

    print("not found")

}
 
Würde auch die regExp empfehlen die ist in den meisten Fällen besser. (Muss man sich zwar am Anfang ein wenig reinlesen, aber wenn man dann drinnen ist, ist es okay)

http://regexp-evaluator.de/evaluator/

Die Seite ist da ganz Interessant wenn man noch keine Ahnung hat, zum Spielen.
 
Der reguläre Ausdruck testet aber nur, ob etwas so ähnlich aussieht, wie ein Datum. Der matched zum Beispiel auch bei 34.15.99.

Ja, das stimmt natürlich. Der Vorteil bei den Regexp wäre ggf., dass man auch aus einem String wie "Datum: xx.yy.zzzz" den Datumspart ausschneiden könnte.