gpt4 book ai didi

javascript - 使用 JavaScript 计算字符串中的单词数

转载 作者:可可西里 更新时间:2023-11-01 02:51:26 24 4
gpt4 key购买 nike

我正在尝试使用以下代码计算给定字符串中的单词数:

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() 函数内部存在问题。

最佳答案

[edit 2022, based on comment] 如今,人们不会以这种方式扩展原生原型(prototype)。一种在没有命名冲突危险的情况下扩展 native 原型(prototype)的方法是使用 es20xx symbol . Here is an example使用它的 wordcounter。

旧答案:您可以使用 split 并向 String 原型(prototype)添加一个 wordcounter:

if (!String.prototype.countWords) {
String.prototype.countWords = function() {
return this.length && this.split(/\s+\b/).length || 0;
};
}

console.log(`'this string has five words'.countWords() => ${
'this string has five words'.countWords()}`);
console.log(`'this string has five words ... and counting'.countWords() => ${
'this string has five words ... and counting'.countWords()}`);
console.log(`''.countWords() => ${''.countWords()}`);

关于javascript - 使用 JavaScript 计算字符串中的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com