假如string student;
要判断student这个字符串是否等于r0,r1,r2,r3,r4,r5,r6,r7,r8,r9我发现c#里面不能使用if(student>="r0")这种写法了(c++里面好像可以的)。我查了不少方法,都比较麻烦,好像是正则表达式最简单,但是我不会写,请高手帮下忙。
if (Regex.IsMatch(student, @"正则表达式"))
问下这样写可以不可以?

解决方案 »

  1.   

    if (Regex.IsMatch(student, @"r[0-9]"))
      

  2.   

    这个不对的,要用^r,这样是r起头但是@"^r[0-9]"的话,r66这种也可以通过。。
      

  3.   

    string.Compare(str1, str2)>0
    等效于
    str>str2
      

  4.   

    不用正则要麻烦一点!
    static void Main(string[] args)
            {            string[] r = new string[] { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" };
                string str = Console.ReadLine();
                while (true)
                {
                    if (!r.Any(p => p == str))
                    {
                        Console.WriteLine("你输入的值不在范围之内!请重新输入!");
                        str = Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine("你输入的值在范围之内!");
                        break;
                    }
                }
                Console.ReadLine();
            }
      

  5.   


    Console.WriteLine(Regex.IsMatch("r0", @"^r\d{1}$"));