C#C# 字数总结(word count)

1、Regex.Matches(s, @”[A-Za-z0-9][A-Za-z0-9’\-.]*”).Count
(英文单词连词算一个单词)

Regex.Matches(s, @”[A-Za-z0-9][A-Za-z0-9\-.]*”).Count
(英文单词连词不算一个单词)

2、           string[] str=FilterHtml(content).Split(“~!@#$%^&*()_+-=`|\\:\”?><;’,./ “.ToCharArray());

                int i=0;

                foreach (string s in str)

                {

                    if (s.Length == 0)

                        i++;

                }

                count = str.Length – i;

其中第2种艺术的毛病无法总计数字字数 比如123.456她会当八个单词,以上措施只适用英文字数统计

3、Regex.Matches(txtContent.Text, @”[\W]+”).Count 国语字数

Regex.Matches(strContent, @”[0-9][0-9’\-.]*”).Count 数字字数

华语字数总计:

    public static int ChineseLetterCount(string strText)

    {

        byte[] byts = System.Text.Encoding.GetEncoding(“gb2312”).GetBytes(strText);

 

        return byts.Length – strText.Length;

    }

上述都是类似计算

 英文字数统计已经很规范了,汉语字数总计误差有点大,还有待改革

不过我在做相比较测试的意识word2010总括有一点bug:

请看以下测试用例:

“I looked at it and said, ‘We’ll be back in a few days,’ ” 拜伦 Largent said of the china. (word2010内部字数总括为20)

而自己写的正则统计为19不晓得什么人对什么人错

留神:连词算一个不算七个哦,那看来微软吗连词不算一个单词

 

相关文章