【发布时间】:2011-06-03 08:59:49
【问题描述】:
我正在尝试为 JavaScript 命令组合一个正则表达式,以准确计算文本区域中的单词数。
我找到的一个解决方案如下:
document.querySelector("#wordcount").innerHTML = document.querySelector("#editor").value.split(/\b\w+\b/).length -1;
但这不包括任何非拉丁字符(例如:西里尔文、韩文等);它完全跳过它们。
我整理的另一个:
document.querySelector("#wordcount").innerHTML = document.querySelector("#editor").value.split(/\s+/g).length -1;
但除非文档以空格字符结尾,否则这并不能准确计算。如果将空格字符附加到被计数的值,即使是空文档,它也会计数 1 个单词。此外,如果文档以空格字符开头,则计算无关单词。
无论输入法如何,我都可以在这个命令中输入一个正则表达式来准确计算单词吗?
【问题讨论】:
-
跑题了,不过
document.querySelector("#wordcount")可以写成document.getElementById("wordcount"),可能是跨浏览器兼容性更好,也可能更快;它不太可能兼容或变慢。 -
缺少对术语“单词”的准确定义。
-
@Tomalak,一般缺失,还是问题中缺失? ;)
标签: javascript regex word-count