• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> 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.