各位大侠, MatchCollection mc = Regex.Matches(tbxSendData.Text, @"(?i)[/da-f]{2}");我想用这个把一个字符串中的非空格字符取出来,用于串口通信的校验,比如AA 44  33    EA我想取出AA4433EA来,发现我这个表达式不对,不知问题哪里,请各位指教,小弟新手,谢谢各位。

解决方案 »

  1.   

    (?i)[/da-f]{2}你是不是想写(?i)[a-f\d]{2}
      

  2.   

    string str=Regex.Replace(@"AA 44 33 EA",@"\s*",@"")
      

  3.   


                string s = "AA 44 33 EA";
                MatchCollection mc = Regex.Matches(s, @"\S");
                StringBuilder sb = new StringBuilder();
                foreach (Match m in mc)
                {
                    sb.Append(m.ToString());
                }
                MessageBox.Show(sb.ToString());
      

  4.   

    string s = "AA 44 33 EA";
                MatchCollection mc = Regex.Matches(s, @"\S+");
                StringBuilder sb = new StringBuilder();
                foreach (Match m in mc)
                {
                    sb.Append(m.ToString());
                }
                MessageBox.Show(sb.ToString());
    修改楼上的,简单动了下正则,这样会好些。