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个字符,则会引发异常。