• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

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.