前幾天客戶提出來了一個需求,組合屬性值之間的連接字符,需要根據前一個屬性的結束字符和后一個屬性開頭字符,來判斷該使用哪種連接符號。客戶提供了一份文檔,光組合屬性的規則就占據了一頁,着實讓我頭疼了一會,最后記錄點正則代碼,以備后用。
/// <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
{
數字,
字母,
漢字,
符號,
}