如何计算JavaScript中字符串中特定字符串的出现次数

我们需要编写一个包含两个字符串的JavaScript函数,例如str1和str2。然后,该函数应计数并返回str2在str1'中出现的次数

例如-

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

示例

为此的代码将是-

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));

输出结果

控制台中的输出将是-

2