我想实现的是让字数在多语言文本.
就像如果我有一个文本有英语和中国:上届奥运会在北京举行,计数应为8,因为有六个英语单词和两个中国字,如Microsoft Word中的字数.
什么是应该做的是在Ruby和JavaScript中的最佳方式?
解决方法:
您可以在JavaScript中尝试.它基本上通过排除英语中可能出现的每个字符来获取符号.我可能已经忘记了某些字符,但是它可能无法与其他具有特殊字符的语言一起使用,但请尝试一下.为了简洁起见,我使用jQuery的$.trim函数,但您也可以使用“ How do I trim a string in javascript?”.
演示:http://jsbin.com/otusuv/7/edit
var str = 'The last Olympics 隶草 was held in 北京';
var words = '', symbols = '';
str.replace(/([\w\s]*)([^\w;,.'"{}\[\]+_)(*&\^%$#@!~\/?]*)/g, function(a,b,c) {
words += b;
symbols += c;
});
words = $.trim(words).split(' ');
symbols = symbols.replace(' ', '').split('');
var total_words = words.length + symbols.length