A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© StartHeiMa 中级黑马   /  2014-7-18 20:55  /  1093 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

”1+2-3×4÷5“怎么一次提取出数字和运算符号!
貌似这样不可以 String regInt = @"([0-9]+)(([\+\-×÷])([0-9]+))+";

3 个回复

倒序浏览
提取数字直接用@“\d”就行啊;
提取运算符号可以试试@"\W".
回复 使用道具 举报
正则表达式好难!
回复 使用道具 举报
            string str = "1+2-3×4÷5";
            //一个集合收集处理后的字符串
            List<string> LStr = new List<string>();
            //收集数字和字符的组和   匹配是数字和不是空白符的字符
            MatchCollection mc= Regex.Matches(str,@"(\d+)(\S)?");
            //通过循环得到每个Match
            foreach (Match m in mc)
            {
                //收集\d这个组内的内容
                LStr.Add(m.Groups[1].Value);
                //去除最后?所产生的""字符
                if (m.Groups[2].Value!="")
                {
                    //得到不为""的符号符号
                    LStr.Add(m.Groups[2].Value);
                }               
            }            
            Console.ReadKey();
这是我写的代码
不知道是否符合你的要求,不过得到了里面的数字和符号了
希望对你有帮助。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马