C#中的字数统计算法

Luk*_*101 8 .net c#

我正在寻找一个好的单词计数类或功能.当我从互联网上复制并粘贴一些内容并将其与我的自定义字数统计算法和MS Word进行比较时,它总是偏离10%多一点.我觉得这太过分了.那么你们在c#中知道一个准确的字数统计算法吗?

Lar*_*nal 8

正如@astander建议的那样,你可以按如下方式执行String.Split:

string[] a = s.Split(
    new char[] { ' ', ',', ';', '.', '!', '"', '(', ')', '?' },
    StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

通过传入一个字符数组,您可以分割多个单词分隔符.删除空条目将使您无法计算非单词.

  • 这很好,但你也应该考虑换行.如果你输入一个单词,按回车,输入一个单词,按回车,它将返回一个0的数字.Split()的一个重载允许一个字符串数组,所以你可以将这个数组改为字符串和添加Environment.Newline(或"\ r \n"和\n"). (3认同)
  • 除非您的输入包含非常有限的格式,否则您可能需要更宽的网络 - 考虑卷曲和有角度的大括号,破折号(尽管这会产生误报)和其他标点符号. (2认同)

Adr*_*der 6

String.Split由预定义的字符组成.使用标点符号,空格(删除多个空格)以及您确定为"单词拆分"的任何其他字符

你有什么尝试?

我确实看到前一个用户被钉上了链接,但这里有一些使用正则表达式或字符匹配的例子.希望它有所帮助,没有人受伤X-)

String.Split方法(Char [])

C#中的字计数器

C#字数