我想统计一篇包含英文和中文的文章中有多少个单词。对于英语来说,这很简单。每个词都是一个词。对于中文,我们将每个字符算作一个单词。因此,香港人在这里是三个词。
例如,“我是香港人”的字数应该为 6。
知道如何在 Javascript/jQuery 中计算它吗?
Thanks!
尝试这样的正则表达式:
/[\u00ff-\uffff]|\S+/g
例如,"I am a 香港人".match(/[\u00ff-\uffff]|\S+/g)
gives:
["I", "am", "a", "香", "港", "人"]
然后你可以检查结果数组的长度。
The \u00ff-\uffff
正则表达式的一部分是 unicode 字符范围;您可能想将范围缩小到您想要算作单词的字符。例如,CJK Unified 是\u4e00-\u9fcc
.
function countWords(str) {
var matches = str.match(/[\u00ff-\uffff]|\S+/g);
return matches ? matches.length : 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)