马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

c#判断汉字的三种方式

[复制链接]
查看3959 | 回复3 | 2017-1-11 09:50:12 | 显示全部楼层 |阅读模式
C#中如何判断字符串是否是汉字

1.用汉字的 UNICODE 编码范围判断

汉字的 UNICODE 编码范围是4e00-9fbb,根据此范围也可 以判断,具体代码如下:

[C#] 纯文本查看 复制代码
/// <summary>
/// 用 UNICODE 编码范围判断字符是不是汉字
/// </summary>
/// <param name="text">待判断字符或字符串</param>
/// <returns>真:是汉字;假:不是</returns>
public bool CheckStringChineseUn(string text)
{
    bool res = false;
    foreach (char t in text)
    {
        if (t >= 0x4e00 && t <= 0x9fbb)
        {
            res = true;
            break;
        }
    }
    return res;
}


2.用ASCII码判断
 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,根据这个范围可以判断,具体代码如下:

[C#] 纯文本查看 复制代码
/// <summary>
/// 用 ASCII 码范围判断字符是不是汉字
/// </summary>
/// <param name="text">待判断字符或字符串</param>
/// <returns>真:是汉字;假:不是</returns>
public bool CheckStringChinese(string text)
{
    bool res = false;
    foreach (char t in text)
    {
        if ((int)t > 127)
            res = true;
    }
    return res;
}


3.用正则表达式判断

用正则表达式判断也是根据汉字的 UNICODE 编码范围判断的,具体代码如下

[C#] 纯文本查看 复制代码
/// <summary>
/// 用 正则表达式 判断字符是不是汉字
/// </summary>
/// <param name="text">待判断字符或字符串</param>
/// <returns>真:是汉字;假:不是</returns>
public bool CheckStringChineseReg(string text)
{
    return System.Text.RegularExpressions.Regex.IsMatch(text, @"[\u4e00-\u9fbb]+$");
}


C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin | 2017-1-11 09:51:39 | 显示全部楼层
叶子我想你
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
Amy尾巴 | 2017-1-11 16:21:03 | 显示全部楼层
6666
ibcadmin | 2017-1-11 16:28:29 | 显示全部楼层

你是自动屏蔽1楼
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则