本帖最后由 yzmsb4 于 2011-05-27 07:09:26 编辑

解决方案 »

  1.   


     string str = "test a string";
                string searchstr = "a";
                if (str.Contains(searchstr) && str.IndexOf(searchstr) > 0)
                {
                    Console.WriteLine("字符串" + str + "中在索引" + str.IndexOf(searchstr) + "处存在" + searchstr + "子字符串");            }
                else
                {
                    Console.WriteLine("查找失败");
                }
      

  2.   

    还真没有你可以Match到之后,用Group[0]再IndexOf应该还有更好的办法。
      

  3.   


    你好。这个没用呀我的searchstr问号处具体内容未知呀,就是?号可以匹配任意字符。。
      

  4.   

    c???s??d?n  <--  这个长度固定吗?比如 c12sdn 符合吗?
    比如 c1111111111111111111111111111111111111111111111s090909000d111111111111112n 符合吗?
      

  5.   

    对了,Match对象有 Index 属性。var str = "abcd124abasdf";
    var match = Regex.Match(str, @"\d+");
    if (match != null)
        Console.WriteLine(match.Index);
      

  6.   

    try...            Regex reg = new Regex(@"c.*?s.*?d.*?n");
                Match m = reg.Match("xxxc???s??d?nxxxxxxxxxxxxxxxxxxxxxxxx");
                if (m.Success)
                {
                    richTextBox2.Text = "匹配成功!\n索引:" + m.Index;
                }
                else
                {
                    richTextBox2.Text = "匹配不成功!";
                }
      

  7.   

    \w{,3}  --> 相当于你的一个问号