我试图找到给定字符串中以特定子字符串开头的单词计数,没有原型:
myString="cat car cab. came, corn ";
substring = "ca";
count =0;
if (myString.match(substring))
count++;
return count;
我的预期结果是4。
答案 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;
}