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);
 }
相关推荐
南境十里·墨染春水7 小时前
C++传记(面向对象)虚析构函数 纯虚函数 抽象类 final、override关键字
开发语言·c++·笔记·算法
2301_797172757 小时前
基于C++的游戏引擎开发
开发语言·c++·算法
成为大佬先秃头8 小时前
数据库连接池:Druid
数据库·mysql·druid
有为少年8 小时前
告别“唯语料论”:用合成抽象数据为大模型开智
人工智能·深度学习·神经网络·算法·机器学习·大模型·预训练
比昨天多敲两行8 小时前
C++ 二叉搜索树
开发语言·c++·算法
Season4508 小时前
C++11之正则表达式使用指南--[正则表达式介绍]|[regex的常用函数等介绍]
c++·算法·正则表达式
Tisfy8 小时前
LeetCode 2839.判断通过操作能否让字符串相等 I:if-else(两两判断)
算法·leetcode·字符串·题解
问好眼9 小时前
《算法竞赛进阶指南》0x04 二分-1.最佳牛围栏
数据结构·c++·算法·二分·信息学奥赛
会编程的土豆9 小时前
【数据结构与算法】优先队列
数据结构·算法
minji...10 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法