一.判断字符串中是否包含中文字符
方法1:采用将字符转换为ASCII码,并检查ASCII码是否大于等于128。如果是,则表示该字符是中文字符。如果存在中文字符,则返回true
,否则返回false。(此方式对于特殊字符可能会失效)
/// <summary>
/// 返回true表示为包含中文,false不包含中文
/// </summary>
/// <param name="CString">判断的字符串</param>
/// <returns></returns>
public bool ExistsChinese(string CString)
{
// 首先判断字符串是否为空或长度为0
if (CString != null && CString.Length > 0)
{
// 将字符串转换为字符数组
char[] cs = CString.ToArray();
// 遍历字符数组
foreach (char c in cs)
{
// 判断字符的ASCII码是否大于等于128,如果是则表示是中文字符
if (Convert.ToInt32(c) >= 128)
{
return true;
}
}
}
return false;
}
方法2:使用正则表达式来匹配中文字符(靠谱)
/// <summary>
/// 返回true表示为包含中文,false不包含中文
/// </summary>
/// <param name="CString">判断的字符串</param>
/// <returns></returns>
public bool ExistsChinese(string CString)
{
// 使用正则表达式匹配中文字符
Regex regex = new Regex("[\u4e00-\u9fa5]");
return regex.IsMatch(CString);
}