谷歌JavaScript电子表格

时间:2014-03-27 02:44:16

标签: javascript arrays

我正在尝试创建一个函数,告诉我有多少单词包含少于3个字母。 例如,"明天会下雨。所以带上你的雨伞" 在这句话中,只有" be"和"所以"如此平等的两个。任何帮助将不胜感激。

function (stri){

return ("less than 3 ").length;

}

(我的目标是使用\ w(正则表达式),如果可能的话。)

2 个答案:

答案 0 :(得分:1)

如果您使用lodash,您可以执行以下操作...

<script src="http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
<script>

    // create a function to call with your string and the min size of the word
    function countSmalls(s,min) {

      // split by non word characters
      return _.where(s.split(/\W/),function(v,i,l){

        // return true or false to satisfy the callback, all *truthy* values are added to the return value of _.where
        return v && v.length < min;
      }).length;
    }

    // create some text
    var lorem = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.";

    // call your function
    countSmalls(lorem,3); // 24 (words that are < 3 characters)

</script>

答案 1 :(得分:1)

function countSmallWords(stringToTest){
  var smallWords = /\b\w{1,2}\b/g;
  return stringToTest.match(smallWords).length;
}

说明:它使用带有全局标志的正则表达式\b\w{1,2}\b来匹配字符串中一个或两个字符的所有单词。然后它使用该字符串上的匹配函数来给出一个单词的数组。最后,获取计数的length属性。

使用示例:

//Example 1:
alert(countSmallWords("Tomorrow will be rain. So bring your umbrellas"));
//alerts 2

//Example 2:
var smallWordCount = countSmallWords("Hello. What a nice day it is.");
//smallWordCount == 3

//Example 3:
var smallWordCount = countSmallWords("Are there any small words in this sentence?");
console.log(smallWordCount);
//Press F12 and you will see 1 in the browser console.