作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想统计一篇包含英文和中文的文章中的单词数。对于英语,这很简单。每个字都是一个字。对于中文,我们将每个字符算作一个词。因此,香港人在这里是三个字。
例如,“我是香港人”的字数应该是 6。
知道如何在 Javascript/jQuery 中计算它吗?
谢谢!
最佳答案
试试这样的正则表达式:
/[\u00ff-\uffff]|\S+/g
例如,"I am a 香港人".match(/[\u00ff-\uffff]|\S+/g)
给出:
["I", "am", "a", "香", "港", "人"]
然后你可以只检查结果数组的长度。
正则表达式的 \u00ff-\uffff
部分是一个 unicode 字符范围;您可能希望将范围缩小到您想要算作单词的字符。例如,CJK Unified 将是 \u4e00-\u9fcc
。
function countWords(str) {
var matches = str.match(/[\u00ff-\uffff]|\S+/g);
return matches ? matches.length : 0;
}
关于javascript - 如何在 Javascript 中对英文和中文混合进行字数统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20396456/
我是一名优秀的程序员,十分优秀!