使用JavaScript计算字符串中的单词数
作者:互联网
我试图使用以下代码计算给定字符串中的单词数:
var t = document.getElementById('MSO_ContentTable').textContent;
if (t == undefined) {
var total = document.getElementById('MSO_ContentTable').innerText;
} else {
var total = document.getElementById('MSO_ContentTable').textContent;
}
countTotal = cword(total);
function cword(w) {
var count = 0;
var words = w.split(" ");
for (i = 0; i < words.length; i++) {
// inner loop -- do the count
if (words[i] != "") {
count += 1;
}
}
return (count);
}
在该代码中,我从div标签获取数据并将其发送到cword()函数进行计数.虽然IE和Firefox的返回值不同.正则表达式中是否需要进行任何更改?有一件事我表明两个浏览器发送相同的字符串都存在cword()函数内部的问题.
解决方法:
您可以巧妙地使用replace()方法,尽管您没有更换任何东西.
var str = "the very long text you have...";
var counter = 0;
// lets loop through the string and count the words
str.replace(/(\b+)/g,function (a) {
// for each word found increase the counter value by 1
counter++;
})
alert(counter);
例如,可以改进正则表达式以排除html标记
标签:javascript,internet-explorer-9,firefox3-5 来源: https://codeday.me/bug/20191006/1861879.html