用任意程序编写,找出一个字符串中的数字串的个数,如erd3534hftyr8731beqrty3436tyle中有三个数字串。

解决方案 »

  1.   


    用正则表达式 
    procedure TForm1.Button1Click(Sender: TObject); 
    var 
    reg: TPerlRegEx; 
    begin 
    reg := TPerlRegEx.Create(nil); 
    reg.Subject := erd3534hftyr8731beqrty3436tyle'; 
    reg.RegEx  := '[^0-9]'; 
    reg.ReplaceAll; 
    ShowMessage(reg.Subject); 
    FreeAndNil(reg); 
    end; 
      

  2.   

    MatchCollection mc = Regex.Match("\d+");
    //mc.Count
      

  3.   

                string strContent = @"erd3534hftyr8731beqrty3436tyle";            Regex reg = new Regex(@"\d+");
                Console.WriteLine(reg.Matches(strContent).Count.ToString());
      

  4.   

     string strContent = @"erd3534hftyr8731beqrty3436tyle";
     Regex reg = new Regex(@"\d+");
     Console.WriteLine(reg.Matches(strContent).Count.ToString());