如何检查字符串格式

本文关键字:字符串 格式 检查 何检查 | 更新日期: 2023-09-27 17:55:08

我正在慢慢学习用 C# 做一些简单的控制台应用程序,现在遇到了一个我无法解决的问题。我尝试在整个堆栈溢出/互联网上寻找解决方案,但要么我不知道如何正确搜索它,要么我正在寻找什么没有答案。

情况:我正在创建一个简单的控制台应用程序,该应用程序会向用户询问以下内容:名字、姓氏、年龄。

每个提示(问题)都通过以下代码介绍给用户:

System.Console.Write("What is your date of birth? ");
String dob = System.Console.ReadLine();

我为名称做了一个简单的检查器,它寻找它们是否在 1-30 个字符之间,如果是,应用程序会将结果写入文本文档。

问:如何检查出生日期是否以以下格式书写:DD.MM.YYYY

如何检查字符串格式

如果

它是有效日期,这将返回:

String dob = System.Console.ReadLine();
DateTime dtResult;
bool IsValid = DateTime.TryParseExact(dob, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtResult);

但是在例如 1 月 1 日的情况下,您无法检测到月/日交换。这只会在以下情况下导致 false day > 12

TryParseExact是你的方式:

DateTime dt = new DateTime();
bool success = DateTime.TryParseExact(dob, "dd.MM.yyyy", CultureInfo.CurrentCulture, 
                                        DateTimeStyles.AssumeLocal, out dt);

如果 dob 格式正确,则将true isInCorrectFormatdt将保存正确解析的DateTime对象。