Computer >> Computer tutorials >  >> Programming >> Javascript

How to count the occurrence of a specific string in a string in JavaScript


We are required to write a JavaScript function that takes in two strings, say str1 and str2. The function should then count and return the number of times str2 appears in str1'

For example −

count('this is a string', 'is') should return 2;

Example

The code for this will be −

const str1 = 'this is a string';
const str2 = 'is';
const countOccurrences = (str1, str2, allowOverlapping = true) => {
   str1 += "";
   str2 += "";
   if (str2.length <= 0) return (str1.length + 1);
   var n = 0,
   pos = 0,
   step = allowOverlapping ? 1 : str2.length;
   while (true) {
      pos = str1.indexOf(str2, pos);
      if (pos >= 0) {
         ++n;
         pos += step;
      } else break;
   }
   return n;
};
console.log(countOccurrences(str1, str2));

Output

And the output in the console will be −

2