统计每一个中文出现的个数的算法?

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:45:58
统计每一个中文出现的个数的算法?
string str="随机产生了了多不筱个这样的了的算法";
输出中文的个数,谢谢!

这个用正则表达式来匹配是最简洁、高效的方法

System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[\u4e00-\u9fa5]", System.Text.RegularExpressions.RegexOptions.Multiline);

string strTemp = "随机产生了了多不筱个这样的了的算法";

int 中文个数 = reg.Matches(strTemp).Count;

/// <summary>
/// 计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度
/// </summary>
/// <param name="Text">需计算长度的字符串</param>
/// <returns>int</returns>
public int Text_Length(string Text)
{
int len=0;

for(int i=0;i<Text.Length;i++)
{
byte[] byte_len = System.Text.Encoding.Default.GetBytes(Text.Substring(i,1));
if(byte_len.Length>1)
len += 2; //如果长度大于1,是中文,占两个字节,+2
else
len += 1; //如果长度等于1