C# 算法

一.判断字符串中是否包含中文字符

方法1:采用将字符转换为ASCII码,并检查ASCII码是否大于等于128。如果是,则表示该字符是中文字符。如果存在中文字符,则返回true,否则返回false。(此方式对于特殊字符可能会失效)

cs 复制代码
 /// <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:使用正则表达式来匹配中文字符(靠谱)

cs 复制代码
 /// <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);
 }
相关推荐
('-')11 分钟前
《从根上理解MySQL是怎样运行的》第二十五章笔记
数据库·笔记·mysql
xinyu_Jina12 分钟前
Info Flow:去中心化数据流、跨协议标准化与信息源权重算法
算法·去中心化·区块链
尽兴-14 分钟前
问题记录:数据库字段 `CHAR(n)` 导致前端返回值带空格的排查与修复
前端·数据库·mysql·oracle·达梦·varchar·char
Cat God 00716 分钟前
MySQL-查漏补缺版(六:MySQL-优化)
android·数据库·mysql
Jac_kie_層樓16 分钟前
力扣hot100刷题记录(12.2)
算法·leetcode·职场和发展
超龄超能程序猿24 分钟前
提升文本转SQL(Text-to-SQL)精准度的实践指南
数据库·人工智能·sql
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 C++返回最长有效子串长度
开发语言·数据结构·c++·后端·算法
曹牧1 小时前
‌‌Oracle CASE WHEN‌
数据库·oracle
x***13391 小时前
【Mysql】:如何恢复误删的数据?
数据库·mysql
Databend1 小时前
Databend 11 月月报:多模态查询智能
数据库