abcd ewr wertertretery Bar Level(Ref. b1)       620.1  mV        *       650.0     750.0
比如说上面一行的一个字符串,我现在要找到“Bar Level(Ref. b1)”后面的第一个数字“620.1”,请问这个该怎么写呢
这个数字有可能会是负数

解决方案 »

  1.   


                string s = "abcd ewr wertertretery Bar Level(Ref. b1) 620.1 mV * 650.0 750.0";
                Regex reg = new Regex(@"(?<=Bar Level\(Ref. b1\).*?)-?\d+(.\d+)?");            Console.WriteLine(reg.Match(s));
      

  2.   


                string testItemVM700 = "Bar Level(Ref. b1)";
                Regex reg = new Regex(@"(?<=" + testItemVM700.ToString() + @".*?)-?\d+(.\d+)?");            string s = "Bar Level(Ref. b1)       620.5  mV        *       650.0     750.0";
                //Regex reg = new Regex(@"(?<=Bar Level\(Ref. b1\).*?)-?\d+(.\d+)?");            Console.WriteLine(reg.Match(s));            Console.ReadLine();
    我改成这样就不行了,该怎么来处理呢???
      

  3.   


    string str = "abcd ewr wertertretery Bar Level(Ref. b1) 620.1 mV * 650.0 750.0";           Match m = Regex.Match(str, @"-?\d+\.?\d+\b");
               Console.WriteLine(m);
      

  4.   

                string testItemVM700 = @"Bar Level\(Ref. b1\)";
                Regex reg = new Regex(@"(?<=" + testItemVM700.ToString() + @".*?)-?\d+(.\d+)?");            string s = "Bar Level(Ref. b1) 620.5 mV * 650.0 750.0";
                //Regex reg = new Regex(@"(?<=Bar Level\(Ref. b1\).*?)-?\d+(.\d+)?");            Console.WriteLine(reg.Match(s));            Console.ReadLine();
      

  5.   

    或者也可以这样做            string testItemVM700 = "Bar Level(Ref. b1)";            testItemVM700 = Regex.Escape(testItemVM700);            Regex reg = new Regex(@"(?<=" + testItemVM700.ToString() + @".*?)-?\d+(.\d+)?");            string s = "Bar Level(Ref. b1) 620.5 mV * 650.0 750.0";
                //Regex reg = new Regex(@"(?<=Bar Level\(Ref. b1\).*?)-?\d+(.\d+)?");            Console.WriteLine(reg.Match(s));            Console.ReadLine();
      

  6.   

    我的意思是,在字符串str里,查找string类型的变量 s 后面的第一个数字。
    一楼已经实现了,我只是想把它换成变量的形式
      

  7.   

    string s = reg.Match(s).ToString();
    然后你想转什么类型都可以了
      

  8.   

                string testItemVM700 = @"Bar Level\(Ref. b1\)";
                string str = "Bar Level(Ref. b1) 620.5 mV * 650.0 750.0";
                Regex reg = new Regex(string.Format(@"(?<={0}\s*)[\d.]+(?=[\D])", testItemVM700));
                Console.WriteLine(reg.Match(str).Value);
      

  9.   

                string testItemVM700 = @"Bar Level\(Ref. b1\)";
                string str = "Bar Level(Ref. b1) 620.5 mV * 650.0 750.0";
                Regex reg = new Regex(string.Format(@"(?<={0}\s*)[\d.]+(?=\D)", testItemVM700));
                Console.WriteLine(reg.Match(str).Value);
      

  10.   

    --!huangwenquan123
    只要是正则表达式你都会出现
    你一出现我就没看头了