编程语言
首页 > 编程语言> > 使用JavaScript计算字符串中的单词数

使用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