C#中的字符串比较

时间:2010-03-28 00:41:52

标签: c# string compare

我有一个类似20090101的字符串,我想将其与????01??进行比较。

if (input == "----01--") { .... }

如何将第5个和第6个字符与“01”进行比较?

5 个答案:

答案 0 :(得分:11)

更新:看到你的评论后,我认为你应该将字符串解析为DateTime:

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.
}

答案 1 :(得分:5)

我认为这可能是你想要的:

if (input.Substring(4, 2) == "01")
{
    // do something
}

这将获得输入的两个字符子串(从字符5开始)并将其与"01"进行比较。

答案 2 :(得分:3)

你应该创建一个正则表达式。检查第4和第5个字节是否为01,你可以写

var r = new Regex("^.{4}01$");
if(r.Match(str) ...) ... 

答案 3 :(得分:1)

MSDN有一个很棒的article on comparing strings,但您可能需要参考String documentation获取特定帮助,最值得注意的是:String.CompareString.CompareToString.IndexOf ,和String.Substring

答案 4 :(得分:0)

正如鲍尔所说你可以使用字符串函数,你也可以将字符串转换为字符数组并使用字符串char来实现它