计算以给定子字符串开头的单词

时间:2015-07-01 07:35:08

标签: javascript string

我试图找到给定字符串中以特定子字符串开头的单词计数,没有原型:

myString="cat car cab. came, corn ";
substring = "ca";
count =0;
if (myString.match(substring))
   count++;

return count;

我的预期结果是4。

3 个答案:

答案 0 :(得分:2)

您可以使用regex

var myString = 'cat car cab. came, corn ';
alert(myString.match(/\s?(ca\w*)/g).length)

答案 1 :(得分:1)

您可以使用与全局正则表达式匹配并检查返回的:array

的长度



function countWordsWithSubstring(sentence, substring) {
  var matches = sentence.match(new RegExp('\\b' + substring, 'g'));
  return matches ? matches.length : 0;
}
                                 
var myString="cacat acaacacar cab. came, corn ";
alert(countWordsWithSubstring(myString, 'ca'));




答案 2 :(得分:0)

将使用正则表达式匹配字符串中的单词,正则表达式将产生匹配单词的数组,例如:

string = "car cat caw ctt" 
subString = "ca"

string.match(new RegExp('\\b' + subString, 'g'))  // will reult ["ca", "ca", "ca"]

如果没有匹配将返回null,这就是为什么我们有||返回一个空数组

a = null || [] // this will return []

并且对于结果数组将检查长度并返回。

  function countWordsBeginningWith(subString, myString){

     var count = (myString.match(new RegExp('\\b' + subString, 'g')) || 
     []).length;

    return count;       
}