我正在尝试使用以下代码计算给定字符串中的单词数:
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()
函数内部存在问题。
原文由 V_B 发布,翻译遵循 CC BY-SA 4.0 许可协议
尽管您没有替换任何东西,但您可以巧妙地使用 replace() 方法。
例如,可以改进正则表达式以排除 html 标记