博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 字数统计(word count)
阅读量:6794 次
发布时间:2019-06-26

本文共 967 字,大约阅读时间需要 3 分钟。

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,' " Byron Largent said of the china. (word2010里面字数统计为20)

而我写的正则统计为19不知道谁对谁错

注意:连词算一个不算两个哦,那看来微软吧连词不算一个单词

 

转载于:https://www.cnblogs.com/tewuapple/archive/2012/06/30/2570893.html

你可能感兴趣的文章
本地YUM源配置与简单用法
查看>>
Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果强化版
查看>>
not 与整数
查看>>
学习使用资源文件[3] - 用 Image 显示资源中的图片
查看>>
机器突然重启导致Mantis错误
查看>>
mysql基础(二) 常用SQL语句
查看>>
redhat 6.5 php 升级到5.6
查看>>
oracle数据库清理和回收system和sysaux表空间
查看>>
STL实例
查看>>
CCNP sla,route-map结合应用实现负载均衡和冗余
查看>>
大学生微信卖吃喝月入10万,创业因女友娇气
查看>>
VC非ASCII语言复制到剪切板乱码问题
查看>>
QT+OPENCV摄像头的三种效果显示
查看>>
ant编译乱码
查看>>
Netty 实现 WebSocket 聊天功能
查看>>
php isset+{} 判断字符串长度
查看>>
oral_quiz->#字符串的排列、组合#
查看>>
【转】OSI七层模型详解
查看>>
核心产品开源项目配置说明
查看>>
自定义AlertDialog
查看>>