C#-判断字符中是否含有汉字的两种方法,并提取汉字

Posted GimiGimmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#-判断字符中是否含有汉字的两种方法,并提取汉字相关的知识,希望对你有一定的参考价值。

1、采用ASCII码

1.1 判断字符串中是否含有汉字

 /// <summary>
    /// 字符中是否包含汉字。有,返回true;没有,返回false
    /// </summary>
    /// <param name="st"></param>
    /// <returns></returns>
    public bool IsIncludeHanzi(string st)
    
        bool isInclude = false;
        for (int i = 0; i < st.Length; i++)
        
            if (Convert.ToInt32(Convert.ToChar(st.Substring(i, 1))) > Convert.ToInt32(Convert.ToChar(128)))
            
                isInclude = true;
            
        
        return isInclude;
    

1.2 提取字符串中的所有汉字

 /// <summary>
    /// 提取字符串中含有的汉字字符串
    /// </summary>
    /// <param name="st"></param>
    /// <returns></returns>
    public string ExtractHanzi(string st)
    
        string hanziString= "";
        for (int i = 0; i < st.Length; i++)
        
            if (Convert.ToInt32(Convert.ToChar(st.Substring(i, 1))) > Convert.ToInt32(Convert.ToChar(128)))
            
                hanziString += st.Substring(i, 1).ToString();
            
        
        return hanziString;
    

2、采用正则表达式

2.1 空间

using System.Text.RegularExpressions;

2.2 判断字符串中是否含有汉字

 /// <summary>
    /// 字符中是否包含汉字。有,返回true;没有,返回false
    /// </summary>
    /// <param name="st"></param>
    /// <returns></returns>
    public static bool IsIncludeHanzi2(string st)
    
        bool isInclude = false;
        foreach (var ch in st)
        
            if (Regex.IsMatch(ch.ToString(), @"[\\u4e00-\\u9fbb]+"))
            
                isInclude = true;                
            
        
        return isInclude;
    

2.3 提取字符串中的全部汉字

/// <summary>
    /// 提取字符串中的汉字
    /// </summary>
    /// <param name="st"></param>
    /// <returns></returns>
    public static string ExtractHanzi2(string st)
    
        string hanziString = "";
        foreach(var ch in st)
        
            if (Regex.IsMatch(ch.ToString(), @"[\\u4e00-\\u9fbb]+"))
            
                hanziString += ch.ToString();
            
        
        return hanziString;
    

以上是关于C#-判断字符中是否含有汉字的两种方法,并提取汉字的主要内容,如果未能解决你的问题,请参考以下文章

mysql 判断字符串中是不是有汉字

java判断字符串中是否含有汉字

js判断是不是包含汉字和字母

判断字符串中是不是含有中文

python从含有汉字和数字的字符串中提取数字部分

python 判断是不是含有数字,英文字符和汉字