首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript中的字计数器

javascript中的字计数器
EN

Stack Overflow用户
提问于 2019-03-27 05:56:23
回答 1查看 264关注 0票数 1

我正在做一个web应用程序类的实验作业,并且被困在为一个基本的HTML网页实现单词计数器上。测试和HTML的设置已经为我们完成了。我只需要编写一个名为countWords的函数,该函数接受一个字符串并返回单词数。不过,它的工作原理与传统的单词计数器不同。单词被定义为任何A-Z。其他的都被认为不是单词的一部分。所以,如果字符串只是"234@#$^",那么单词计数就是0。所以,我并不是像大多数单词计数器那样只计算空格。我在StackOverflow上找到的所有类似问题的答案都试图只计算空格,并不适用于我的情况。因此,我提出了一个新问题。

我的想法是有一个return语句,它使用正则表达式匹配a-z的任何分组,并返回长度。然后,有一个条件来检查空字符串或没有字母a-z的字符串。

代码语言:javascript
复制
function countWords(s) {
   if(s === "" || s === "%$#^23#") {
      return 0
   }
   return s.match(/[^a-z]/gi).length
}

现在if语句只是匹配两个测试用例,这样我就可以通过测试了。我不确定如何编写另一个匹配正则表达式来检查字符串中是否没有字母或空字符串。如有任何帮助,我们不胜感激!我被困了一段时间。

EN

回答 1

Stack Overflow用户

发布于 2019-03-27 06:06:04

您首先需要过滤string,删除所有特殊字符和数字:

代码语言:javascript
复制
var filtered_test = my_text.replace(/[^a-zA-Z ]/g, '');

然后执行正常的split并进行计数:

代码语言:javascript
复制
var words = filtered_test.split(" ");
console.log(words.length); //prints out the count of words
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55366765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档