@technobuddha/library
Version:
A large library of useful functions
20 lines • 1.3 kB
JavaScript
/**
* Compute the number of times a substring occurs within a string
* @param input - The string
* @param substring - The substring to look for
* @param options - see {@link CountOptions}
* @returns number of times *substring* occurs within *input*
* @group String
* @category Operations
*/
export function count(input, substring, { overlap = false } = {}) {
const step = overlap ? 1 : substring.length;
let cnt = 0;
let pos = 0;
while ((pos = input.indexOf(substring, pos)) >= 0) {
cnt++;
pos += step;
}
return cnt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUNuQixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsRUFBRSxPQUFPLEdBQUcsS0FBSyxLQUFtQixFQUFFO0lBRXRDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzVDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNaLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVaLE9BQU8sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsSUFBSSxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIn0=