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#-判断字符中是否含有汉字的两种方法,并提取汉字的主要内容,如果未能解决你的问题,请参考以下文章