C# C语言中的字符串比较#
我有一个类似于C# C语言中的字符串比较#,c#,string,compare,C#,String,Compare,我有一个类似于20090101的字符串,我想将它与??01???进行比较 if (input == "----01--") { .... } 如何将第5个和第6个字符与“01”进行比较?更新:看到您的评论后,我认为您应该将字符串解析为日期时间: string s = "20090101"; DateTime dateTime; if (DateTime.TryParseExact(s, "yyyyMMdd", null, DateTimeStyles.None, out dateTime))
20090101
的字符串,我想将它与??01???
进行比较
if (input == "----01--") { .... }
如何将第5个和第6个字符与“01”进行比较?更新:看到您的评论后,我认为您应该将字符串解析为日期时间:
string s = "20090101";
DateTime dateTime;
if (DateTime.TryParseExact(s, "yyyyMMdd", null, DateTimeStyles.None, out dateTime))
{
if (dateTime.Month == 1)
{
// OK.
}
}
else
{
// Error: Not a valid date.
}
MSDN有一个很好的解决方案,但您可能需要参考以获得具体帮助,最明显的是:、和。我认为这可能是您想要的:
if (input.Substring(4, 2) == "01")
{
// do something
}
这将获得两个字符的输入子字符串(从字符5开始),并将其与
“01”
进行比较。您应该创建一个正则表达式。要检查第4和第5个字节是否为01,可以写入
var r = new Regex("^.{4}01$");
if(r.Match(str) ...) ...
正如鲍尔所说,您可以使用字符串函数,也可以将字符串转换为字符数组,并逐字符使用它我的意思是,如果我的输入与****01**相同。例如:如果(input==“20090101”){…}在这个比较中,01对我来说更重要。如何指定01字符?谢谢,看起来像是约会。您是否正在尝试匹配表示任何一年一月中任何一天的日期?根据您的评论,我已更新了您的问题,以使其更加清晰。可能不应该有
$
。如果输入少于6个字符,则会引发异常。