xxxxxxxxxx
function count(str, find) {
return (str.split(find)).length - 1;
}
count("Good", "o"); // 2
xxxxxxxxxx
var temp = "This is a string.";
var count = (temp.match(/is/g) || []).length;
console.log(count);
Output: 2
Explaination : The g in the regular expression (short for global) says to search the whole string rather than just find the first occurrence. This matches 'is' twice.
xxxxxxxxxx
function countOccurences(string, word) {
return string.split(word).length - 1;
}
var text="We went down to the stall, then down to the river.";
var count=countOccurences(text,"down"); // 2
xxxxxxxxxx
// String Prototype: myCount = myString.polycount("countThis")
String.prototype.polycount = function (criteria) {
return this.split(criteria).length - 1 }
// Arrow Function (STR): myCount = strCount(myString, "countThis")
const strCount = (stack, find) => stack.split(find).length - 1
// Array Prototype: myCount = myArray.polycount("countThis")
Array.prototype.polycount = function (criteria) {
return this.join("").split(criteria).length - 1 }
// Arrow Function (ARR): myCount = arrCount(myArray, "countThis")
const arrCount = (stack, find) => stack.join("").split(find).length - 1
xxxxxxxxxx
// No Regex Version (With Overlapping)
// str => input string
// sub => input substring
// returns number of occurrences of sub in str with overlaping
const countOccurrences = (str, sub) => {
let count = 0;
pos = str.indexOf(sub);
while(pos>=0){
count++;
pos++;
pos = str.indexOf(sub, pos)
}
return count;
}