愚见未来

人的思想时时刻刻都在进步,如果你早上起床,想起昨天所做的事情是那么幼稚和迂腐,那么恭喜你,你又变得成熟一点了!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

正则表达式判断中文字符

Posted on 2012-09-07 15:28  愚见未来  阅读(16834)  评论(0编辑  收藏  举报

前几天客户提出来了一个需求,组合属性值之间的连接字符,需要根据前一个属性的结束字符和后一个属性开头字符,来判断该使用哪种连接符号。客户提供了一份文档,光组合属性的规则就占据了一页,着实让我头疼了一会,最后记录点正则代码,以备后用。

 

        /// <summary>
        /// 判断字符是否为数字,字符,汉字,英文字母
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        StringType IsStringType(string str)
        {           
            Regex regNum = new Regex("[0-9]");
            Regex regEn = new Regex("[A-Za-z]");
            Regex regChina = new Regex("[\u4e00-\u9fa5]");
            if (regNum.IsMatch(str))
                return StringType.数字;
            else if (regEn.IsMatch(str))
                return StringType.字母;
            else if (regChina.IsMatch(str))
                return StringType.汉字;
            else
                return StringType.符号;
        }

        public enum StringType
        {
            数字,
            字母,
            汉字,
            符号,
        }