2017-02-13 4 views
3

Ich muss überprüfen, ob die Zeichenfolge ein richtiges Datum ist.String mit zusätzlichen Zeichen am Ende vergeht Datum strptime

date = Date.strptime(date_string, '%Y/%m/%d') rescue nil 

Leider findet Date.strptime das Datum am Anfang und ignoriert andere Zeichen, so

date_string = '2017/02/13dsasdsadasdasd' 

den Scheck übergeben wird. Gibt es eine Möglichkeit, die Kontrolle strenger zu machen?

Antwort

1

keine allgemeine Lösung, aber hier ist eine, die für diesen speziellen Fall funktioniert:

date = Date.new(*date_string.split("/").map{|s| Integer(s)}) rescue nil 
Verwandte Themen