文本统计
统计含空格与不含空格的字符数、单词数、不重复词数、句子、段落、行数,并给出预计阅读时长与词频,全部在浏览器中实时计算。
一段文字所需的全部计数,边输入边更新。 粘贴或输入文本,即可得到字符数、单词数、不重复词数、句子、段落、行数以及预计阅读时长。词频列表展示真正支撑这篇文字的词,还可以隐藏常见虚词,只看有意义的部分。
统计含空格与不含空格的字符数、单词数、不重复词数、句子、段落、行数,并给出预计阅读时长与词频,全部在浏览器中实时计算。
一段文字所需的全部计数,边输入边更新。 粘贴或输入文本,即可得到字符数、单词数、不重复词数、句子、段落、行数以及预计阅读时长。词频列表展示真正支撑这篇文字的词,还可以隐藏常见虚词,只看有意义的部分。
同一段文字问三个软件要字数,很容易得到三个答案。这不是 bug,而是定义问题。像 "state-of-the-art" 这样的连字符复合词,在排版者眼里是一个词,在朴素的切分器眼里是四个。"don't" 里的撇号不能拆词,而作为引号使用的撇号却应该拆。数字、网址和邮箱各自又需要不同的规则。
本工具把「词」定义为一串字母或数字,后面可以跟撇号再接字母。由于匹配是 Unicode 感知的,带重音的拉丁字母、希腊字母、西里尔字母和中日韩字符都被视为字母,而不会被悄悄丢弃。词与词之间的标点起分隔作用,因此 "well-known" 记作两个,"it's" 记作一个。重要的不是选了哪条规则,而是你知道规则是什么——这样你可以预测结果,而不是与它争论。
在没有语言模型的情况下,句子切分天然是启发式的。按句号、问号和感叹号切分对普通散文有效,遇到缩写则会以可预料的方式失败:"Dr. Smith arrived at 9 a.m." 在朴素切分器看来像三句。做可读性分析时,请把句子数当作良好的估计值,而不是精确数字。
段落和行更机械,但彼此不同。行是以换行符分隔的内容,所以一个硬换行的文件行数很多、段落很少。段落是由一个或多个空行分隔的块,这与 Markdown 和多数编辑器的理解一致。对比这两个数字,可以迅速判断文本是不是带着硬换行过来的——粘贴进会自动重排的系统时,这一点很关键。
阅读时长按每分钟 200 词估算,这是普通散文默读速度的常见均值。真实速度差异很大:带代码示例的技术材料更慢,熟悉的营销文案更快,手机上比桌面更慢。请把它用于相对比较,而不是对读者的承诺。
词频才是这个工具在编辑环节真正的价值所在。按次数排序会暴露无意识的重复——八百字里出现十一次的口头禅,以及你想写的主题是否真的是出现最多的名词。「忽略常见词」会移除冠词、介词、代词等封闭类虚词,否则它们会在任何语言的任何列表里霸占前排,却什么都说明不了。