c# - 在字符串 C# 中提取日期?

标签 c# regex windows string date

提取字符串中给出的日期的好的解决方案是什么?

例如:

string block = "This should try to get a date 2005-10-26"; //去做!我想要日期

有什么好的建议吗?

可能是正则表达式?

最佳答案

最简单的正则表达式是

new Regex(@"\b\d{4}-\d{2}-\d{2}\b")

但这不会进行任何错误检查,只会找到完全该格式。

如果你想做日期验证,正则表达式不是你最好的 friend 。这是可能的,但最好留给日期解析器,unless you want render suicidal whoever has to read your code六个月后。我同意进行基本的完整性检查,但不要尝试验证闰年等:

new Regex(@"\b\d{4}-(?:1[0-2]|0[1-9])-(?:3[01]|[12][0-9]|0[1-9])\b")

关于c# - 在字符串 C# 中提取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17405721/

相关文章:

c# - string.Empty.StartsWith(((char)10781).ToString()) 总是返回 true?

c# - 部分图像链接的正则表达式

javascript - 强制将特定模式放入文本框

c++ - 获取 winhttp.h 的推荐方法是什么?

C# 图表轴标签格式不正确

c# - 当字符在 CDATA 中时,为什么 XML 序列化程序会抛出无效字符异常?

c# - 缩小图像尺寸 imagemagick

regex - 用于搜索重叠模式的正则表达式

c++ - 实现自定义 Windows 身份验证包

windows - 试图更换;使用 cmd 文件在 txt 文件中使用 ASCII 控制字符