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