提取字符串中给出的日期的好的解决方案是什么?
例如:
string block = "This should try to get a date 2005-10-26";
//TODO! I WANT THE DATE
对我有什么好的建议吗?
也许正则表达式?
最简单的正则表达式是
new Regex(@"\b\d{4}-\d{2}-\d{2}\b")
但这不会进行任何错误检查,只会准确找到 该格式。
如果你想做日期验证,regex 不是你最好的朋友。这是可能的,但最好留给日期解析器,除非你想在六个月后让必须阅读你的代码的人自杀。我同意进行基本的健全性检查,但不要尝试验证闰年等:
new Regex(@"\b\d{4}-(?:1[0-2]|0[1-9])-(?:3[01]|[12][0-9]|0[1-9])\b")